SQL Server问题-对XML的查询
好的,我有一个问题:SQL Server问题-对XML的查询,sql,xml,Sql,Xml,好的,我有一个问题: Select Orders.OrderID, ProductID, UnitPrice, Quantity, Orders.OrderDate From [Order Details] left join Orders on Orders.OrderID=[Order Details].OrderID where Orders.OrderID='10248' or Orders.OrderID = '10249' FOR XML Auto, Elements; 当我执行时
Select Orders.OrderID, ProductID, UnitPrice, Quantity, Orders.OrderDate From [Order Details]
left join Orders on Orders.OrderID=[Order Details].OrderID
where Orders.OrderID='10248' or Orders.OrderID = '10249'
FOR XML Auto, Elements;
当我执行时,它给出以下XML:
<Orders>
<OrderID>10248</OrderID>
<OrderDate>1996-07-04T00:00:00</OrderDate>
<Order_x0020_Details>
<ProductID>11</ProductID>
<UnitPrice>15.4000</UnitPrice>
<Quantity>12</Quantity>
</Order_x0020_Details>
<Order_x0020_Details>
<ProductID>42</ProductID>
<UnitPrice>10.7800</UnitPrice>
<Quantity>10</Quantity>
</Order_x0020_Details>
<Order_x0020_Details>
<ProductID>72</ProductID>
<UnitPrice>38.2800</UnitPrice>
<Quantity>5</Quantity>
</Order_x0020_Details>
</Orders>
<Orders>
<OrderID>10249</OrderID>
<OrderDate>1996-07-05T00:00:00</OrderDate>
<Order_x0020_Details>
<ProductID>14</ProductID>
<UnitPrice>20.4600</UnitPrice>
<Quantity>9</Quantity>
</Order_x0020_Details>
<Order_x0020_Details>
<ProductID>51</ProductID>
<UnitPrice>46.6400</UnitPrice>
<Quantity>40</Quantity>
</Order_x0020_Details>
</Orders>
10248
1996-07-04T00:00:00
11
15.4000
12
42
10.7800
10
72
38.2800
5.
10249
1996-07-05T00:00:00
14
20.4600
9
51
46.6400
40
这对我来说很好,只是我想把
“
读成”
,但我不知道怎么做。有什么建议吗?谢谢它之所以放置x0020,是因为订单详细信息表名称中有一个空格
修改查询以使用该表的别名,它应该会修复它(请注意我添加的OrderDetails):
您应该能够在查询中简单地为
[Order Details]
表添加别名
Select Orders.OrderID, ProductID, UnitPrice, Quantity, Orders.OrderDate
From [Order Details] OrderDetails
left join Orders
on Orders.OrderID=OrderDetails.OrderID
where Orders.OrderID = '10248'
or Orders.OrderID = '10249'
FOR XML Auto, Elements;
我如何修改它以包装所有内容,使其符合xml?我在尝试以其他方式解析它时会出错。谢谢
Select Orders.OrderID, ProductID, UnitPrice, Quantity, Orders.OrderDate
From [Order Details] OrderDetails
left join Orders
on Orders.OrderID=OrderDetails.OrderID
where Orders.OrderID = '10248'
or Orders.OrderID = '10249'
FOR XML Auto, Elements;