2014-03-07 63 views
0

您好我需要已经字段名作为actionname SQL表数据转换,actiondesc我需要转换,在下面的格式SQL表转换为XML名称值对

<Details> 
    <Field name="actiondesc" value="val1"/> 
    <Field name="actionname" value="val2"/> 
    </Details> 

在此先感谢 阿伦

回答

2

SQL Fiddle

MS SQL Server 2008的架构设置

create table dbo.YourTable 
(
    actiondesc int, 
    actionname int 
); 

insert into dbo.YourTable values(1,2); 
insert into dbo.YourTable values(3,4); 

查询1

select 'actiondesc' as [Field/@name], 
     T.actiondesc as [Field/@value], 
     '', 
     'actionname' as [Field/@name], 
     T.actionname as [Field/@value] 
from dbo.YourTable as T 
for xml path('Details') 

Results

<Details> 
    <Field name="actiondesc" value="1" /> 
    <Field name="actionname" value="2" /> 
</Details> 
<Details> 
    <Field name="actiondesc" value="3" /> 
    <Field name="actionname" value="4" /> 
</Details>