在整个语法的其余部分中将列的值设置为计算值

时间:2017-10-15 01:01:47

标签: sql-server sql-server-2008

我熟悉用于查询数据的基本sql。我通过从我们公司的软件生成查询来学习它,该软件主要使用生成语法的拖放式GUI界面。我一直在努力阅读下面有关如何做我要问的事情,但对我来说理解起来太困难了。出于安全目的,在查询表的分发中,我需要能够通过对所有id号使用私有计算来在任何查询结果中屏蔽学生的id号。当我在select语句本身中使用这个计算时,它在非常基本的查询中工作正常,但是当我尝试在更复杂的查询中使用它时,就像在带有子查询的查询中一样,它不起作用。根据我的研究,似乎我需要使用SET或DECLARE语句,以便语法知道前进,id_num的列值真的像(id_num)/ 2 * 12,但我一直在尝试从示例中无效。我正在使用SQL Server 2008.

简而言之,有人可以解释是否有办法将整个查询语法(包括子查询)中列中的所有值转换为对该列的值而不是实际值的计算?

伪代码是这样的:

SET masked_id = SUM(mytable.id_num / 2 * 12)AS mytable.masked_id

SELECT masked_id 来自mytable

谢谢。

1 个答案:

答案 0 :(得分:0)

我问的问题与我遇到的问题无关。我假设我需要通过计算声明或设置变量,但我还是缺少了一些我已经纠正过的语法。详细说明纠正不会有助于(并且可能会混淆)未来的任何人阅读可能有类似问题的人。

谢谢,

林赛