任何人都可以看到我在做什麼錯誤的語法是越來越語法STUFF/FOR XML PATH
消息156,級別15,狀態1,行 'FOR' 關鍵字近33
不正確的語法。
我歸結我的可讀性查詢和我仍然得到錯誤以各種方式我試圖執行它:
SELECT
STUFF((SELECT *
FROM
(SELECT N',' + N'first'
UNION
SELECT N',' + N'second')
FOR XML PATH('')), 1, 1, '')
也試過:
SELECT
STUFF((SELECT *
FROM
(SELECT N',' + N'first'
UNION
SELECT N',' + N'second'))
FOR XML PATH(''), 1, 1, '')
對於而我越來越
FOR XML子句在視圖,內聯函數,de rived表和子查詢,當它們包含set操作符時。要解決此問題,請使用派生表語法將包含集合運算符的
SELECT
包裝起來,並在其上應用FOR XML。
但修改代碼爲每ExactHelp's post。
UPDATE
基於從@NenadZivkovic答案,我想出了其做了什麼,我一直在尋找做到以下幾點:
WITH CTE_perca_categories AS
(
SELECT
category = STUFF((SELECT ', ' + category
FROM perca_categories
FOR XML PATH('')), 1, 2, '')
) , CTE_perca_tags AS
(
SELECT tag = (SELECT ', ' + tag from perca_tags FOR XML PATH(''))
)
SELECT
CONCAT((SELECT * FROM CTE_perca_categories),
(SELECT * FROM CTE_perca_tags))
輸出(其中標籤開始,「食品」):
Charitable Giving, Nondiscretionary Spending, Saving, Discretionary Spending, Food, Dining, Groceries, Bills
你從頭開始寫這篇文章?記憶?有數百篇博客文章和答案以及這種語法的工作示例。爲什麼不採取其中一個並適應它? –