【发布时间】:2014-07-22 22:26:28
【问题描述】:
我很难弄清楚如何从 SQL select 创建 XML 文件,该文件具有用于存储非唯一值的子节点。
我正在使用 Microsoft SQL Server 2012
例如
select company, founder
from companies
查询的结果是:
microsoft corp Bill Gates
microsoft corp Paul Allen
apple inc Steve Jobs
apple inc Ronald Wayne
apple inc Steve Wozniak
我想生成一个类似的 XML
<values>
<company>microsoft corp</company>
<founders>
<founder id="1">Bill Gates</founder>
<founder id="2">Paul Allen</founder>
</founders>
</values>
<values>
<company>apple inc</company>
<founders>
<founder id="1">Steve Jobs</founder>
<founder id="2">Ronald Wayne</founder>
<founder id="3">Steve Wozniak</founder>
</founders>
</company>
</values>
我不确定节点<founders> 是必需的,我认为让创始人直接在<values> 节点下也可以正常工作,因为他们留在正确的公司,获得一个ID列表。
我现在得到的是,使用FOR XML,然后我尝试了以下不同的选项:
<values>
<company>apple inc</company>
<founder>Steve Jobs</founder>
</values>
<values>
<company>apple inc</company>
<founder>Ronald Wayne</founder>
</values>
<values>
<company>apple inc</company>
<founder>Steve Wozniak</founder>
</values>
这与我需要实现的目标不兼容。
非常感谢任何帮助将所有创始人置于同一 <values> 节点下。
谢谢!
【问题讨论】:
-
刚刚更新很抱歉
标签: sql sql-server xml sql-server-2012