組,我有以下XML文檔碎紙XML轉換成表格與T-SQL
<Root>
<Translation>
<Entry language ="ES" text = "Alsace"/>
<Entry language ="DE" text = "Elsass"/>
<Entry language ="EN" text = "Alsace"/>
</Translation>
<Translation>
<Entry language ="ES" text = "Brittany"/>
<Entry language ="DE" text = "Bretagne"/>
<Entry language ="EN" text = "Brittany"/>
</Translation>
</Root>
我需要它切碎成一個表,同時保留組。 因此,由於翻譯元素缺少任何id屬性,因此分組隱含在結構中。
表結果應該看起來像。
translation_id, lanuage, text
---------------------------------
1,ES, Alsace
1,DE, Elsass
1,EN, Alsace
2,ES , Brittany
2,DE, Bretagne
2,EN Brittany
我曾嘗試過各種東西一樣
select newid(),
( select rows.n.value('(@language)[1]', 'nvarchar(max)')
from @p.nodes('/Translation/Entry') rows(n)
)
from @p.nodes('/Translation') rows(n)
但不能似乎得到的分組標識不使用某種循環。
謝謝