我有一個看起來數據,如:SQL服務器:FOR XML PATH - 嵌套/分組
OrderID CustomerID ItemID ItemName
10000 1234 111111 Product A
10000 1234 222222 Product B
10000 1234 333333 Product C
20000 5678 111111 Product A
20000 5678 222222 Product B
20000 5678 333333 Product C
我想要寫SQL Server中的T-SQL查詢返回這樣的數據:
<Root>
<Order>
<OrderID>10000</OrderID>
<CustomerID>1234</CustomerID>
<LineItem>
<ItemID>11111</ItemId>
<ItemName>Product A</ItemName>
</LineItem>
<LineItem>
<ItemID>22222</ItemId>
<ItemName>Product B</ItemName>
</LineItem>
<LineItem>
<ItemID>33333</ItemId>
<ItemName>Product B</ItemName>
</LineItem>
</Order>
<Order>
<OrderID>20000</OrderID>
<CustomerID>5678</CustomerID>
<LineItem>
<ItemID>11111</ItemId>
<ItemName>Product A</ItemName>
</LineItem>
<LineItem>
<ItemID>22222</ItemId>
<ItemName>Product B</ItemName>
</LineItem>
<LineItem>
<ItemID>33333</ItemId>
<ItemName>Product B</ItemName>
</LineItem>
</Order>
</Root>
我試着使用XML返回查詢:
FOR XML PATH ('Order'), root ('Root')
但是,這讓我對每一行Order
節點(6總數),而不是每個orderId
(總共2個)的訂單節點。
任何想法?
謝謝伯特。 'type'在子查詢'xml path'語句中做什麼? – jared 2012-07-25 23:05:10
@jared它表示'將此數據返回爲XML數據類型。'所以在上面的查詢中,它只是將子查詢作爲一個小的xml片段返回。 – Bert 2012-07-25 23:08:02
太棒了。謝謝! – jared 2012-07-25 23:22:57