【发布时间】:2015-10-22 13:13:31
【问题描述】:
比方说,我有两张桌子
ItemGoods、ServiceGoods,其中包含 Name 和 Price 等列。
代表销售的不同种类的商品。
我想把它选成一个单一的 xml 结构。
现在我正在使用这个选择
DECLARE @goods_prices VARCHAR(8000)
SET @goods_prices = (select * from
(SELECT [name] item_name,
[cost] price
FROM ItemGoods
UNION
SELECT [name] service_name,
[cost] price
FROM ServiceGoods) goods
FOR XML AUTO);
我得到的输出:
<goods>
<itemName>Item1</itemName>
<price>299.0</price>
</goods>
<goods>
<itemName>Service1</itemName>
<price>4,99</price>
</goods>
我寻求的输出会是这样的
<goods>
<itemGoods>
<item>
<itemName>Item1</itemName>
<price>299.0</price>
</item>
</itemGoods>
<serviceGoods>
...
</serviceGoods>
</goods>
我如何实现这一目标?我需要将结果打包到一个变量中。 只要我可以从服务中定义项目,一个更简单的 xml 结构就可以了
【问题讨论】:
标签: sql-server select for-xml-path