2017-08-30 23 views
0

有人能幫我從兩個sql表中生成XML嗎?從SQL Server中的兩個表生成XML

這就是我想要的:

<Sales> 
    <Sale> 
    <Journal_Prime>400000</Journal_Prime> 
    <DocNumber>100001</DocNumber> 
    <Details> 
     <Detail> 
      <Account>700300</Account> 
      <Amount>276,79</Amount> 
      <DebCre>-1</DebCre> 
      <Ventil>70</Ventil> 
      <Ref>WD2093E0V0</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
     <Detail> 
      <Account>708000</Account> 
      <Amount>0,00</Amount> 
      <DebCre>1</DebCre> 
      <Ventil>70</Ventil> 
      <Ref>Korting</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
     <Detail> 
      <Account>700530</Account> 
      <Amount>55,00</Amount> 
      <DebCre>-1</DebCre> 
      <Ventil>70</Ventil> 
      <Ref>Transport</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
     <Detail> 
      <Account>451000</Account> 
      <Amount>0,00</Amount> 
      <DebCre>-1</DebCre> 
      <Ventil>11</Ventil> 
      <Ref>BTW</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
    </Details> 
    </Sale> 
</Sales> 

這是我嘗試

SELECT Sale.Journal_Prime, Sale.DocNumber, Detail.Account, Detail.Account, Detail.Amount, Detail.DebCre, Detail.Ventil, Detail.Ref, Detail.DocNumber 
FROM XML_FAKAdres2017 as Sale 

INNER JOIN XML_FAK2017 as Detail 
ON Sale.DocNumber = Detail.DocNumber 

FOR XML AUTO, ROOT('Sales'), ELEMENTS 

給我這個結果

<Sales> 
    <Sale> 
    <Journal_Prime>400000</Journal_Prime> 
    <DocNumber>100001</DocNumber> 
     <Detail> 
      <Account>700300</Account> 
      <Amount>276,79</Amount> 
      <DebCre>-1</DebCre> 
      <Ventil>70</Ventil> 
      <Ref>WD2093E0V0</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
     <Detail> 
      <Account>708000</Account> 
      <Amount>0,00</Amount> 
      <DebCre>1</DebCre> 
      <Ventil>70</Ventil> 
      <Ref>Korting</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
     <Detail> 
      <Account>700530</Account> 
      <Amount>55,00</Amount> 
      <DebCre>-1</DebCre> 
      <Ventil>70</Ventil> 
      <Ref>Transport</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
     <Detail> 
      <Account>451000</Account> 
      <Amount>0,00</Amount> 
      <DebCre>-1</DebCre> 
      <Ventil>11</Ventil> 
      <Ref>BTW</Ref> 
      <DocNumber>100001</DocNumber> 
     </Detail> 
    </Sale> 
</Sales> 

所以,我很想念它需要<Details></Details>通過簿記程序這個代碼是爲了導入。我不熟悉XML,說實話,我不知道這是從哪裏來的。

謝謝。 裏克

+0

您好,歡迎來SO。爲了幫助人們需要一些數據來處理。這裏是一個開始的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

回答

0

試試這個

SELECT Sale.Journal_Prime, Sale.DocNumber , 
(SELECT Detail.Account, Detail.Account, Detail.Amount, 
Detail.DebCre, Detail.Ventil, Detail.Ref, Detail.DocNumber 
FROM XML_FAK2017 as Detail where Sale.DocNumber = Detail.DocNumber 
FOR XML AUTO,TYPE,ROOT('Details'),ELEMENTS) 
FROM XML_FAKAdres2017 as Sale 
FOR XML AUTO, ROOT('Sales'),ELEMENTS 
+0

太棒了!有用。非常感謝@ S4V1N – Rik