且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将每个子标记转换为具有多个分隔符的单列-SQL Server (2)

更新时间:2023-02-06 11:22:38

像这样改变你的查询:

SELECT STUFF(
(
    SELECT '!' + STUFF(p.query(N'for $n in .//*[local-name()!="dailyfrequency"]
                           return <a>{concat("$",($n/text())[1])}</a>'
                        ).value(N'.',N'nvarchar(max)'),1,1,'')
    FROM p.nodes(N'prescription') AS A(p)
    FOR XML PATH(''),TYPE).value(N'.',N'nvarchar(max)'),1,1,'')
FROM @xml.nodes(N'/plan/prescriptions') AS A(p);

首先我们为不同的处方创建一个派生表,其次我们对每个处方分别使用以前的代码.

First we create a derived table for the different prescriptions, Secondly we use the former code for each prescription separately.