3
我有XML數據,我只想將每個鍵值的值連接在一起。下面的代碼接近但不起作用,請告知。我在下面嘗試的是先將XML中的值「拆分」出來,然後將它們重新組合在一起,我希望有更好的方法,否則只需對我的代碼進行更正將不勝感激。獲取來自XML的值串聯字符串
剛一說明:我很難總結我身邊XML是如何在SQL中實現頭,答案可能是顯而易見
SELECT RoleId,
/*This part does not work*/
STUFF((SELECT ', ' + Condition
FROM filters /*Invalid object name 'filters'.*/
FOR XML PATH ('')), 1,1, '') vals
/*This part does not work*/
FROM (
/*This part works*/
SELECT tbl.RoleId,
p.value('@Condition', 'VARCHAR(8000)') AS Condition
FROM (
SELECT RoleId,
r.RoleName,
CAST(Data AS XML) Data
FROM dbo.RoleFilters rf
INNER JOIN dbo.Roles r
ON r.Id = rf.RoleId
) tbl
CROSS APPLY Data.nodes('/RoleFilters/Filters/ExpressionInfoGroup/Filters/Expression') t(p)
) filters
就像我說的,答案可能很明顯:)謝謝。這是否沒有「原生」XML功能? –