【发布时间】:2013-07-23 23:28:22
【问题描述】:
我正在使用以下代码来创建逗号分隔列表。
我想要列表的特定顺序:
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'
【问题讨论】:
-
什么是sortOrder??它没有在任何地方定义,也没有出现在表格中
-
sortOrder 是我表中的列名
-
确保您的文本中没有任何无效字符。无效字符可能来自代码的复制粘贴,并且可能显示为“空格”,但实际上解释器不会以这种方式看到。
-
您的查询工作正常 (SQLFiddle demo)。确保“BY”是英文符号,并且 ORDER 和 BY 之间没有特殊符号
-
@Petio lvanov, valex 这是我发布的代码示例,但实际上我也在使用 Join ,可能是导致错误&我没有得到任何拼写错误
标签: sql sql-server sql-order-by csv