我正在使用以下代码创建逗号分隔列表。
我想要按特定顺序排列列表:
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
它显示错误
incorrect syntax near ' ORDER'
最佳答案
使用ojita()给您相同的逗号分隔结果
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 - 使用SELECT子句的逗号分隔列表中的ORDER BY,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17834842/