【发布时间】:2016-06-04 04:10:28
【问题描述】:
我有一张带有INT Id 列的表格。我需要在子查询中选择 Id 作为逗号分隔值。
我试过了:
DECLARE @ids VARCHAR(MAX)
SELECT @ids= COALESCE(@ids +',' ,'') + Convert(nvarchar(8), Id)
FROM TableX
SELECT @ids
它可以工作,但问题是我不能使用声明的变量。有没有办法避免变量使用?
例子:
SELECT Id FROM TableX
结果:
1
2
5
7
我想要:
1,2,5,7
【问题讨论】:
-
您可以添加示例数据和预期输出吗?
-
请问您要解决的更大问题是什么?我觉得可能有一些不必要的体操正在进行。
-
@DMason 你可能是对的。基本上我有日期范围的 CTE,对于每个日期范围,我需要选择一个项目列表。所以我几乎需要从数据库中返回分层数据。
标签: sql sql-server tsql