我尝试这个并且它给出了错误"一个为变量赋值的SELECT语句不能与数据检索操作结合。" 我希望在此动态查询中获得逗号分隔值。 说应该给我玩Black Toy1,toy2,toy3,toy4
SELECT @SQLQuery= '
SELECT
, Colors
, (STUFF((SELECT ','+ st.Name
FROM Toys st
WHERE st.ToyID= Test.ColorID FOR XML PATH('')), 1, 1, '')) AS ToyName
FROM (
答案 0 :(得分:0)
尝试:
DECLARE @SQLQuery NVARCHAR(MAX)
SELECT @SQLQuery= '
declare @t table(Name nvarchar(20))
insert into @t values(''Peter''), (''Mike'')
SELECT STUFF((SELECT '','' + CONVERT(NVARCHAR(MAX), Name)
FROM @t
FOR XML PATH(''''), TYPE).value(''.[1]'', ''nvarchar(max)''), 1, 1, '''')'
EXEC ( @SQLQuery )
输出:
Peter,Mike