为简单合并语句指定列名

时间:2017-07-05 16:06:24

标签: coalesce columnname

在尝试创建自_____以来所有ID的列表时,我能够从以下内容中获得我想要的结果:

as "ID"

但是,我在为上述语句建立列名时遇到问题。 {{1}}需要在哪里才能为上述结果提供列名“ID”?

1 个答案:

答案 0 :(得分:0)

正如查询现在所示,您为表BoList提供了“ID”的别名而不是列。由于您在变量中选择了值,因此没有输出。你可以这样做......

SELECT COALESCE(@BoID + ', ', '') + 
   CAST(ApplicationID AS varchar(10)) as "ID"
FROM BoList 
WHERE CreatedDate > '2017-07-01 18:14:09.210'

或者,如果您确实需要将变量中的值存储起来,以便稍后作为另一个查询的一部分返回...

DECLARE @BoID varchar(max)

SELECT @BoID = COALESCE(@BoID + ', ', '') + 
   CAST(ApplicationID AS varchar(10)) 
FROM BoList
WHERE CreatedDate > '2017-07-01 18:14:09.210' 

SELECT @BoID AS "ID", other columns... FROM whatever