询问是否有SQL语句或存储过程能实现我的想法
内容如下:   
 编号      数据编号      名称         内容 
 1                  001                  姓名         张三 
 2                  001                  性别         男 
 3                  001                  年龄         17   
 就是,根据数据编号,得知这三条数据属于同一个数据,是否可以用SQL语句,查询出来,并且组成一条查询结果返回,即返回   
 编号      姓名         性别            年龄 
 1               张三         男                  17   
 是否可以查询出前3年数据并组成上面1条数据返回给dataset数据集???谢谢,盼复
------解决方案----------------------如果名稱是固定的 
 Select 
 	数据编号, 
 	Max(Case 名称 When  '姓名 ' Then 内容 Else  ' ' End) As 姓名, 
 	Max(Case 名称 When  '性别 ' Then 内容 Else  ' ' End) As 性别, 
 	Max(Case 名称 When  '年龄 ' Then 内容 Else  ' ' End) As 年龄 
 From 
 	表 
 Group By 
 	数据编号
------解决方案--------------------create table tab(编号 int,数据编号 varchar(10),名称 varchar(10),内容 varchar(10)) 
 insert tab 
 select 1  ,     '001 ' ,     '姓名 ',    '张三 ' 
 union select 2 ,      '001 '      , '性别 ',    '男 ' 
 union select 3  ,     '001 '      , '年龄 ',    '17 '     
 declare @str varchar(8000) 
 set @str= 'select 编号=cast(数据编号 as int) ' 
 select @str=@str+ ', '+名称+ '=max(case when 内容= ' ' '+内容+ ' ' ' then 内容 else  ' ' ' ' end) ' 
 from tab 
 group by 数据编号,名称,内容   
 exec(@str+ ' From tab Group By 数据编号 ')   
 drop table tab