Использование SQL Server 10.0 и 10.5
Я пытаюсь извлечь несколько строк в одну строку и разделить их запятыми в операторе 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 с той же ошибкой
Я знаю, что могу создать процедуру для этого, но это не то, что мне здесь нужно.
Любая помощь приветствуется.
Спасибо