mBo*_*ros 5 .net xml sql sql-server-2008
我有这些表
表格1
tbl1_site
[facilityId]
[name]
表2
tbl2_applicant
[pvid]
[facilityId]
[npi]
[firstname]
FK连接密钥:tbl1_site.facilityId = tbl2_applicant.facilityId
表3
tbl3_abstraction
[pvid]
[patientnumber]
[diabetesdiagnosis]
[dateofbirth]
FK连接键:tbl2_applicant.pvId = tbl3_abstraction.pvId
我有问题创建一个SQL查询来重现此xml输出.
谢谢
<account>
<metadata />
<practice-sites>
<practice-site>
<metadata>
<data-element id="name">
<value>My Own Diabetes Medical Center</value>
</data-element>
</metadata>
<applicants>
<metadata />
<applicant>
<metadata>
<data-element id="npi">
<value>1234567890</value>
</data-element>
<data-element id="firstname">
<value>Joseph</value>
</data-element>
</metadata>
<clinical-abstractions>
<clinical-abstraction>
<data-element id="diabetesdiagnosis">
<value>Backward</value>
</data-element>
<data-element id="dateofbirth">
<value>02/01/2009</value>
</data-element>
<data-element id="patientnumber">
<value>1</value>
</data-element>
</clinical-abstraction>
</clinical-abstractions>
</applicant>
</applicants>
</practice-site>
</practice-sites>
</account>
Run Code Online (Sandbox Code Playgroud)
你真的需要所有这些标签吗?我的意思是"元数据"和"数据元素"
尝试此查询,它会显示您需要的格式的数据:
select t1.name as PracticeSite,
(SELECT t2.npi as NPI,
t2.firstname,
(SELECT t3.patientnumber,
t3.diabetesdiagnosis,
t3.dateofbirth
FROM tbl3_abstraction t3
WHERE t3.pvId=t2.pvId
FOR XML PATH('clinical-abstraction'), TYPE
) as 'clinical-abstractions'
FROM tbl2_applicant t2
WHERE t1.[facilityId]=t2.[facilityId]
FOR XML PATH('Applicant'), TYPE
) AS 'Applicants'
from tbl1_site t1
FOR XML path('PracticeSites'), root('account'), ELEMENTS;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1698 次 |
| 最近记录: |