我熟悉用于查询数据的基本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
谢谢。
答案 0 :(得分:0)
我问的问题与我遇到的问题无关。我假设我需要通过计算声明或设置变量,但我还是缺少了一些我已经纠正过的语法。详细说明纠正不会有助于(并且可能会混淆)未来的任何人阅读可能有类似问题的人。
谢谢,
林赛