我有一个table1
Deptno Skills 1 1 1 2 1 3 2 1 2 3 3 1 3 2
我需要将技能值作为子节点插入到table2中的XMl列中,以匹配Deptno
尝试使用
UPDATE
Dept
SET
XMLColumn.modify('insert ('Skills 2 /Skills)
as last into
(/Skills[1])
') where deptno = 1
但是如何使用其他表值并将它们嵌套到table2 xml列中?
答案 0 :(得分:1)
update T2
set XMLColumn.modify('insert sql:column("T1.Skills") as last into Skills[1]')
from Table2 as T2
cross apply (
select T1.Skills
from Table1 as T1
where T2.Deptno = T1.Deptno
for xml path(''), type
) as T1(Skills)
where T2.Deptno = 1
在Deptno
上的交叉应用中构建要插入的XML,并使用sql:column()
将生成的XML拉入modify()
语句。