Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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路径的XML顺序_Sql Server_Xml_Tsql - Fatal编程技术网

Sql server 用于XML路径的XML顺序

Sql server 用于XML路径的XML顺序,sql-server,xml,tsql,Sql Server,Xml,Tsql,我编写了一个XML查询,创建了一个与我希望的格式略有不同的订单: select 'sample' "@ponumber", 'xxxxxx' "@cust", 'yyyyyy' "@shipto", '999999' "line/material", '20' "line/qty", '777777' "line/material", '20' "line/qty" for xml path('root')

我编写了一个XML查询,创建了一个与我希望的格式略有不同的订单:

select
    'sample' "@ponumber",
    'xxxxxx' "@cust",
    'yyyyyy' "@shipto",
    '999999'  "line/material",
    '20'      "line/qty",
    '777777'  "line/material",
    '20'      "line/qty"
for 
    xml path('root')
我得到以下输出:

<root ponumber="sample" cust="xxxxxx" shipto="yyyyyy">
  <line>
    <material>999999</material>
    <qty>20</qty>
     <material>777777</material>
    <qty>20</qty>
  </line>
</root>

999999
20
777777
20
所需的输出如下:

<root ponumber="sample" cust="xxxxxx" shipto="yyyyyy">
  <line>
    <material>999999</material>
    <qty>20</qty>
  </line>
  <line>
    <material>777777</material>
    <qty>20</qty>
  </line>
</root>

999999
20
777777
20
我需要在查询中修改什么


谢谢大家!

这将为您提供所需的输出。它的工作方式在堆栈溢出上进行了解释

select
    'sample' "@ponumber",
    'xxxxxx' "@cust",
    'yyyyyy' "@shipto",
    '999999'  "line/material",
    '20'      "line/qty",
    '',
    '777777'  "line/material",
    '20'      "line/qty"
for 
    xml path('root')
产生

<root ponumber="sample" cust="xxxxxx" shipto="yyyyyy">
  <line>
    <material>999999</material>
    <qty>20</qty>
  </line>
  <line>
    <material>777777</material>
    <qty>20</qty>
  </line>
</root>

999999
20
777777
20

这将为您提供所需的输出。它的工作方式在堆栈溢出上进行了解释

select
    'sample' "@ponumber",
    'xxxxxx' "@cust",
    'yyyyyy' "@shipto",
    '999999'  "line/material",
    '20'      "line/qty",
    '',
    '777777'  "line/material",
    '20'      "line/qty"
for 
    xml path('root')
产生

<root ponumber="sample" cust="xxxxxx" shipto="yyyyyy">
  <line>
    <material>999999</material>
    <qty>20</qty>
  </line>
  <line>
    <material>777777</material>
    <qty>20</qty>
  </line>
</root>

999999
20
777777
20

真奇怪。。至少对我来说+1Plus1-惊人的简单!我把自己拧成了结,以创造出合适的巢穴。是的,这真是不可思议。我以前经常使用子查询,直到最近我看到了这个技巧。简单得令人震惊,但在我看来,这也有点违反直觉。伟大的转移!:-)真奇怪。。至少对我来说+1Plus1-惊人的简单!我把自己拧成了结,以创造出合适的巢穴。是的,这真是不可思议。我以前经常使用子查询,直到最近我看到了这个技巧。简单得令人震惊,但在我看来,这也有点违反直觉。伟大的转移!:-)