使用SQL Server 10.0和10.5使用SUBSTRING之類的東西一起
我想多行讀取到一個行和逗號它們分開在SELECT語句
如果我這樣做:
SELECT STUFF(CAST(rating AS VARCHAR),1,0,',')
FROM product_reviews
WHERE product_id = 8995
FOR XML PATH('')
除了領先的逗號之外,我得到了期望的結果。
所以我改的第一行試圖刪除前導逗號,像這樣:
SELECT SUBSTRING(STUFF(CAST(rating AS VARCHAR),1,0,','),2,999)
FROM product_reviews
WHERE product_id = 8995
FOR XML PATH('')
這將刪除所有的逗號。
接下來,我試試這個:
SELECT SUBSTRING(ratings,2,999)
FROM (SELECT STUFF(CAST(rating AS VARCHAR),1,0,',') AS ratings
FROM product_reviews
WHERE product_id = 8995
FOR XML PATH('')) tmp
但是,這只是給我的錯誤:
Msg 8155, Level 16, State 2, Line 5
No column name was specified for column 1 of 'tmp'.
Msg 207, Level 16, State 1, Line 1
Invalid column name 'ratings'.
我用其他的名字列1同樣的錯誤
我知道我可以創建一個程序來做到這一點,但這不是我在這裏需要的。
任何幫助表示讚賞。
謝謝
輝煌 - 謝謝 – Graham 2012-02-01 11:22:26