T-SQL 查询中的动态别名 [英] dynamic alias in T-SQL query
本文介绍了T-SQL 查询中的动态别名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在为查询中的字段生成别名时遇到了问题,例如,它为我提供了去年和前一年的收入.我的理解是我可以做类似的事情:
I've got an issue generating an alias for a field in a query which for example gives me the revenue from last year and the year before. I was in the understanding that I could do something like :
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))
但这行不通.有人知道如何完成这项工作吗?
But this doesn't work. Does somebody know how to get this done?
我想要一个像这样的桌子
I want to end up with a table like
rownr|revenue2014|revenue2013
-----------------------------
1 |1234 |4321
非常感谢!
问候尼尔斯
推荐答案
DECLARE @sql VARCHAR(1000);
SET @sql = '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))
PRINT @sql
EXEC (@sql)
在静态 SQL 查询中不可能做到这一点.所以只能这样了.
It is impossible to do that in the static SQL query. So only this way.
这篇关于T-SQL 查询中的动态别名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文