【发布时间】:2015-09-05 20:12:13
【问题描述】:
我正在尝试获取逗号分隔的字段。该结构看起来与下面的非常相似。我想为下面的所有节点获取一个逗号分隔的列表。
DECLARE @Test XML = '
<Order id="orderId">
<Products>
<Product>1</Product>
<Product>2</Product>
<Product>3</Product>
<Product>4</Product>
<Product>5</Product>
</Products>
<Address street="1234 City World" zip="12345" city="City" state="FL"></Address>
</Order>'
SELECT
@Test.value('(/Order/@id)[1]', 'NVARCHAR(1000)') AS OrderId,
@Test.value('(/Order/Address/@street)[1]', 'NVARCHAR(1000)') AS Street,
@Test.value('(/Order/Address/@city)[1]', 'NVARCHAR(1000)') AS City,
@Test.value('(/Order/Address/@state)[1]', 'NVARCHAR(1000)') AS State,
@Test.value('(/Order/Address/@zip)[1]', 'NVARCHAR(1000)') AS Zip,
@Test.query('Order/Products/Product/text()') AS prods
我得到了那些:
OrderId 的“orderid” 《1234城市世界》街拍 “城市”为城市 “FL”代表州 “1245”代表邮编。 “12345”代表产品。
我想获得“1,2,3,4,5”作为产品。
谢谢,
【问题讨论】:
标签: sql-server tsql