不知楼主六行数据有无规则,如有的话可以简单用select (case when fielda='a' then fielda end ) col1 ,(case when fielda='b' then fielda end) col2 ,...from tablea 否则的话可以先分组求得列头后用游标去做!
LZGUI(威靈) 的方法我赞成,我不知道你是为了干什么用,只是为了显示一下的话,方法很多;给你一点提示: declare @FieldName varchar(2000) set @FieldName = 'select ' select @FieldName=isnull(@FieldName,'')+case when @fieldname='select'then '' else ',' end+'convert(varchar(20),'''')'+FName from Table1 exec(@FieldName)
否则的话可以先分组求得列头后用游标去做!
declare @FieldName varchar(2000)
set @FieldName = 'select '
select @FieldName=isnull(@FieldName,'')+case when @fieldname='select'then '' else ',' end+'convert(varchar(20),'''')'+FName from Table1
exec(@FieldName)