使用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