【发布时间】:2014-05-15 18:47:08
【问题描述】:
在 SQL Server 存储过程中,我需要使用来自两个不同表的数据生成 xml。在下面的示例中,EPI 类型的患者编号来自一个表,MRN 类型的患者编号来自另一个表。要创建 xml,我使用 UNION 来组合来自两个不同选择语句的记录,然后使用“FOR XML PATH”。有没有不同的方法——比如使用两个 select 子查询而不使用 UNION?
<Patients>
<Patient>
<Number>1234</Number>
<NumberType>EPI</NumberType>
</Patient>
<Patient>
<Number>5678</Number>
<NumberType>MRN</NumberType>
</Patient>
</Patients>
提前致谢。
【问题讨论】:
-
您真的想要一个包含在“Patient”元素中的数字和类型列表吗?这些表格是否以任何方式相关,例如通过患者 ID?您是否在问是否可以在一个患者元素下列出所有数字和类型?上述 xml 示例是否是您的真正目标?
-
如果你想从 2 个不同的表中获取数据,我认为联合会很好。检查此链接也blog.sqlauthority.com/2009/02/12/…
-
@Tans - UNION 语句是我发现完成我想做的事情的最佳方法。感谢您的回复。
-
@mdisibio - 是的,提供的 xml 是必需的输出。节点 Number 和 NumberType 中的值是从通过 PatientId 连接的不同表中提取的。
标签: sql-server xml tsql