2012-06-21 42 views
2

我在SQL XML中有以下代码。我需要在SQL XML中的父元素中插入一个父元素。基于sql xml中的父xml检索嵌套的父子xml

我有下表。

Firstname Lastname class mark 
John  Lim   V  60 
Wills  smith  V  80 
Mark  Bay   V  75 
Carl  mark   V  65 

,这是我的SQL XML语句

Select 
    Firstname, 
    Lastname, 
    class, 
    mark 
    from Student for xml path('Students'), type 

结果如下

<Students> 
    <Firstname>John</Firstname> 
    <Lastname>Lim</Lastname> 
    <class>V</class> 
    <mark>60</mark> 
</Students> 
<Students> 
    <Firstname>Wills</Firstname> 
    <Lastname>smith</Lastname> 
    <class>V</class> 
    <mark>80</mark> 
</Students> 
<Students> 
    <Firstname>Mark</Firstname> 
    <Lastname>Bay</Lastname> 
    <class>V</class> 
    <mark>75</mark> 
</Students> 
<Students> 
    <Firstname>Carl</Firstname> 
    <Lastname>mark</Lastname> 
    <class>V</class> 
    <mark>65</mark> 
</Students> 

我想下面的结果是类和标志标签封装在另一个标签:

<Students> 
    <Firstname>John</Firstname> 
    <Lastname>Lim</Lastname> 
    <Details> 
    <class>V</class> 
    <mark>60</mark> 
    </Details> 
</Students> 
<Students> 
    <Firstname>Wills</Firstname> 
    <Lastname>smith</Lastname> 
    <Details> 
    <class>V</class> 
    <mark>80</mark> 
    </Details> 
</Students> 
<Students> 
    <Firstname>Mark</Firstname> 
    <Lastname>Bay</Lastname> 
    <Details> 
    <class>V</class> 
    <mark>75</mark> 
    </Details> 
</Students> 
<Students> 
    <Firstname>Carl</Firstname> 
    <Lastname>mark</Lastname> 
    <Details> 
    <class>V</class> 
    <mark>65</mark> 
    </Details> 
</Students> 

任何我dea如何去做这件事?

谢谢!

回答

2

您可以使用列别名。

select Firstname, 
     Lastname, 
     class as "Details/class", 
     mark as "Details/mark" 
from Student 
for xml path('Students'), type 
+0

它的工作原理!谢谢! – ngweixiong