Sim*_*ter 4 sql database sql-server
我有以下查询,它工作得很好,它将我的所有ID放在逗号分隔列表中.
DECLARE @tmp nvarchar(max)
SET @tmp = ''
SELECT @tmp = @tmp + cast(id as nvarchar(max)) + ', '
FROM dbo.property
Run Code Online (Sandbox Code Playgroud)
我想按字母顺序放置我的ID,但是当我通过p.Name添加顺序时,它只给出了我的前一个结果.
如何调整我的查询来完成此任务?
这真的不起作用?
DECLARE @tmp nvarchar(max);
SET @tmp = '';
SELECT @tmp = @tmp + cast(id as nvarchar(max)) + ', '
FROM dbo.property p
order by p.name;
Run Code Online (Sandbox Code Playgroud)
无论如何,您可以使用此方法:
select @tmp = stuff((select ', ', cast(id as nvarchar(max))
from db.property p
order by p.name
for xml path ('')
), 1, 2, '');
Run Code Online (Sandbox Code Playgroud)