我在SQL Server 2008中工作。我在两个xml变量中输出xml显式查询。我的SP必须将xmls组合成一个格式良好的第三个xml。下面给出的插图。不涉及复杂的处理。
我喜欢将两个xml变量中存在的两个xmls合并为一个xml
假设 第一个XML(@x)
<Student>
<Name>Lawy</Name>
<class>form1</class>
</Student>
<Student>
<Name>Vina</Name>
<class>form2</class>
</Student>
第二个XML(@y)
<Dept>
<DeptName>Social</DeptName>
<centre>AOS</centre>
</Dept>
<Dept>
<DeptName>Bio</DeptName>
<centre>RJS</centre>
</Dept>
我想要的结果是(@z)
<sp>
<Student>
<Name>Lawy</Name>
<class>form1</class>
</Student>
<Student>
<Name>Vina</Name>
<class>form2</class>
</Student>
<Dept>
<DeptName>Social</DeptName>
<centre>AOS</centre>
</Dept>
<Dept>
<DeptName>Bio</DeptName>
<centre>RJS</centre>
</Dept>
</sp>
答案 0 :(得分:4)
declare @x xml
declare @y xml
select @x = '<Student>
<Name>Lawy</Name>
<class>form1</class>
</Student>
<Student>
<Name>Vina</Name>
<class>form2</class>
</Student>'
select @y = '<Dept>
<DeptName>Social</DeptName>
<centre>AOS</centre>
</Dept>
<Dept>
<DeptName>Bio</DeptName>
<centre>RJS</centre>
</Dept>'
select @x, @y for xml path('sp')
更新:如果您需要sp中的属性,则可以执行此操作
select 2 as [@id], @x, @y for xml path('sp')