Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server问题-对XML的查询_Sql_Xml - Fatal编程技术网

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;