2

コンマ区切りリストを作成するために次のコードを使用しています。

特定の順序でリストのシーケンスが必要でした:

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'

4

3 に答える 3

8

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
于 2013-07-24T13:08:30.973 に答える