将多行拼接为一个字符串
举个例子:
用户表:ID,Name,RoleID;
1 Mike 1
2 Tom 1
3 Jack 1
现在我们需要将某个角色下的用户用一个字符串显示出来,该怎么做呢?
循环?太复杂。下面给出一个简单的解决方案(欢迎拍砖):
DECLARE @Users NVARCHAR(MAX)
SET @Users = ''
SELECT @Users = @Users + ',' + UserName FROM dbo.[User]
WHERE RoleID = 1
SELECT @Users
结果:
,Mike,Tom,Jack