标签: for-xml-explicit

使用FOR XML的SQL Server EXPLICIT模式

我正在使用SQL Server 2008,我正在尝试使用EXPLICIT模式生成自定义xml FOR XML.

我有以下查询的一对多关系

select  
    p.personid, p.firstname, a.P_City 
from 
    tblPeople p with (nolock) 
left outer join 
    tblAddresses a with (nolock) on p.personid = a.personid 
where 
    p.personid = 120773
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我希望人作为父母和地址作为孩子可能是多个因为人们要解决有一对多的关系.

我写了以下查询

 select 1 as TAG,
        null as parent, 
        p.personid as [person!1!personid],
        p.FirstName as [person!1!firstname],

        null as [addr!2!] 
        from tblPeople p with (nolock) where p.PersonID in (120773,117396)

        union all 

select 2,1, 
        p.PersonID, p.FirstName, a.P_City from tblAddresses a with(nolock), tblPeople p 
        where p.PersonID=a.PersonID and p.PersonID in (120773,117396)

        for …
Run Code Online (Sandbox Code Playgroud)

t-sql for-xml sql-server-2008 for-xml-explicit

4
推荐指数
1
解决办法
1万
查看次数