2
我想要一个逗号分隔的字段。该结构看起来非常类似于下面的结构。我想为下面的所有节点获取以逗号分隔的列表。TSQL XML逗号分隔列表
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
我得到的那些:
“订单ID” 为的OrderId “1234世界城市” 街道 “城市” 城市 “FL” 的国家 “1245” 的邮编。 “12345”for Prods。
我想获得“1,2,3,4,5”刺激物。
感谢,
谢谢!有效!! – Sam