【发布时间】:2020-04-12 07:46:07
【问题描述】:
我正在使用 FOR XML 从 SQL 查询中创建一个 XML 文件。我希望元素基于特定列的常用值,在本例中为“位置”:
location team score
Adelong SFP 104
Adelong LIB 189
Adelong CDP 9
Hurstville SFP 14
Hurstville LIB 64
Hurstville CDP 13
我可以像这样轻松地将他逐行转换为 XML:
SELECT(SELECT location, team, score FROM MyTable FOR XML PATH('node'), TYPE ) FOR XML PATH(''), ROOT('root')
生成的 XML 看起来像这样:
<node>
<location>Adelong</location>
<team>SFP</team>
<score>104</score>
</node>
<node>
<location>Adelong</location>
<team>LIB</team>
<score>189</score>
</node>
<node>
<location>Adelong</location>
<team>CDP</team>
<score>9</score>
</node>
但我真正想要的是:
<location name="Adelong">
<node>
<team>SFP</team>
<score>104</score>
</node>
<node>
<team>LIB</team>
<score>189</score>
</node>
<node>
<team>CDP</team>
<score>9</score>
</node>
</location>
【问题讨论】:
标签: sql sql-server xml for-xml