Sql server 使用forxml多次选择同一元素?
我发现了一个使用Sql server 使用forxml多次选择同一元素?,sql-server,xml,sql-server-2008,for-xml,Sql Server,Xml,Sql Server 2008,For Xml,我发现了一个使用for xml创建xml的示例 但在我的例子中,我需要创建具有多个类似元素的xml。比如: <params> <param>value1</param> <param>value2</param> </param> 我的结果是value1value2。不是我想要的输出 关于如何获得所需输出有什么建议吗?——中间有一个额外的空列 选择 “value1”作为[param], '', “值2”作为[参数]
for xml
创建xml的示例
但在我的例子中,我需要创建具有多个类似元素的xml。比如:
<params>
<param>value1</param>
<param>value2</param>
</param>
我的结果是value1value2
。不是我想要的输出
关于如何获得所需输出有什么建议吗?——中间有一个额外的空列
选择
“value1”作为[param],
'',
“值2”作为[参数]
对于xml路径(“参数”)
--使用union all的派生表
选择“value1”合并所有
选择“值2”
对于xml路径('param'),根('params'))
--字段列表中的子查询
选择
(为xml路径('param')选择'value1',类型),
(为xml路径('param')选择'value2',类型)
对于xml路径(“参数”)
是否要对这两个参数使用相同的参数标记?Tr this-使用param2
作为value2
的别名我已经编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。
SELECT (
SELECT
'value1' AS [param],
'value2' AS [param]
FOR XML PATH('params'))