2016-11-22 16 views
1

我寫道,在sligthly不同的格式創建一個訂單的XML查詢我會把它想: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> 

期望的輸出是這樣的:

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

我需要在我的查詢中修改什麼?

謝謝!

回答

5

這會給你想要的輸出。它的工作方式在Stack Overflow上解釋爲here

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> 
+0

這是奇怪的..至少對我來說.. +1 –

+0

PLUS1 - 令人震驚的簡單!我把自己扭曲成節,創造出合適的嵌套。 –

+0

是的,這太瘋狂了。我曾經用子查詢來做,直到我最近看到那個技巧。確實令人震驚的簡單,但也有點反直覺海事組織。 –