我在另一个大查询中使用此查询。 我需要这个查询来返回comman分隔值(所以John,David,Brian,Jake)并且不使用任何中间变量。
我正在使用SQL Server 2014。
你能提供必要的SQL吗?
SELECT
--@listStr = (COALESCE(@listStr + ',', '') + ShortName)
X.ShortName
FROM
(
SELECT 'John' AS ShortName UNION ALL
SELECT 'David' AS ShortName UNION ALL
SELECT 'Brian' AS ShortName UNION ALL
SELECT 'Jake' AS ShortName
) X
答案 0 :(得分:0)
你可以使用STUFF
函数,FOR XML PATH
可以用逗号作为分隔符连接值,STUFF删除前导逗号。
SELECT STUFF((SELECT ',' + ShortName
FROM
(
SELECT 'John' AS ShortName UNION ALL
SELECT 'David' AS ShortName UNION ALL
SELECT 'Brian' AS ShortName UNION ALL
SELECT 'Jake' AS ShortName
) X
FOR XML PATH('')),1,1,'' )