2012-01-21 68 views
2

我有一個XML數據SQL服務器的XQuery

<Education> 

      <School ID="1"> 
      <Degree>test</Degree> 
      <Description>desc1</Description> 
      <Institution>kec</Institution> 
      </School> 

      <School ID="2"> 
      <Degree>test2</Degree> 
      <Description>desc2</Description> 
      <Institution>kec2</Institution> 
      </School> 

     </Education> 

現在我需要的學校細節提取到了一些臨時表

---------------------------------- 
schoolid degree desc instituion 
---------------------------------- 
1  test desc1 kec 
2  test2 desc2 kec2 

任何人都可以請幫我

回答

2

使用:

declare @x xml='<Education> 

      <School ID="1"> 
      <Degree>test</Degree> 
      <Description>desc1</Description> 
      <Institution>kec</Institution> 
      </School> 

      <School ID="2"> 
      <Degree>test2</Degree> 
      <Description>desc2</Description> 
      <Institution>kec2</Institution> 
      </School> 

     </Education>' 


select t.s.value('@ID', 'int') [schoolid] 
    , t.s.value('Degree[1]', 'nvarchar(20)') [degree] 
    , t.s.value('Description[1]', 'nvarchar(20)') [desc] 
    , t.s.value('Institution[1]', 'nvarchar(20)') [instituion] 
from @x.nodes('Education/School') t(s) 

輸出:

schoolid degree    desc     instituion 
----------- -------------------- -------------------- -------------------- 
1   test     desc1    kec 
2   test2    desc2    kec2