我使用以下代码创建逗号分隔列表。
我想要列表的特定顺序:
USE AdventureWorks
GO
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + Name
FROM Production.Product
SELECT @listStr
GO
当我试过的时候
USE AdventureWorks
GO
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + Name
FROM Production.Product
ORDER BY sortOrder
SELECT @listStr
GO
它显示错误 'ORDER' 附近的语法不正确
最佳答案
使用STUFF () 这给你相同的逗号分隔结果
USE AdventureWorks
GO
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = STUFF((SELECT ',' + Name
FROM Production.Product
ORDER BY sortOrder
FOR XML PATH('')), 1, 1, '')
SELECT @listStr
GO
关于sql - ORDER BY 在逗号分隔列表中使用 SELECT 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17834842/