Sql server 用于XML路径的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')
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-惊人的简单!我把自己拧成了结,以创造出合适的巢穴。是的,这真是不可思议。我以前经常使用子查询,直到最近我看到了这个技巧。简单得令人震惊,但在我看来,这也有点违反直觉。伟大的转移!:-)