【发布时间】:2015-04-08 17:30:14
【问题描述】:
我在为查询中的某个字段生成别名时遇到了问题,例如,它为我提供了去年和前一年的收入。我的理解是我可以做类似的事情:
SELECT
1234 AS 'REVENUE' + CAST (year(DATEADD(year,-1,getdate())) AS VARCHAR(20))
4321 AS 'REVENUE' + CAST (year(DATEADD(year,-2,getdate())) AS VARCHAR(20))
但这不起作用。有人知道如何完成这项工作吗?
我想最终得到一个像这样的表
rownr|revenue2014|revenue2013
-----------------------------
1 |1234 |4321
提前非常感谢!
向尼尔斯打招呼
【问题讨论】:
-
你要列名作为收入吗
-
不,我只想让它说例如“REVENUE2014”,并希望该列明年说“REVENUE2015”。
-
请在您的问题中给出预期的输出
-
我认为你必须使用动态sql来实现你想要的,除非你可以通过其他方式解决你原来的问题
-
另外,如果这被输入到其他东西(几乎所有查询都是),例如报告工具或应用程序,执行重命名 there 可能比尝试更容易在 SQL 中执行。
标签: sql sql-server tsql