I am trying to get a comma delimited field. The structure looks very similar to the one below. I'd like to get a comma delimited list for all nodes below.
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
I am getting those:
"orderid" for OrderId "1234 City World" For Street "City" For City "FL" for State "1245" for Zip. "12345" for Prods.
I would like to get "1,2,3,4,5" for prods.
thanks,