日期:2014-05-19  浏览次数:20598 次

求解难题:列-->行(动态转换)
如题:
FID         FNo             FName     ...
1000       0101           电脑       ...
转成如下格式:

FID       1000
FNo       0101
FName   电脑
.               .
.               .
.               .

注意:字段数(即原列数)是不定的,数据永远只有一行,请教高手了


------解决方案--------------------
改下

Declare @S Varchar(8000)
Select @S= ' '
Select @S = @S + ' Union All Select ' ' ' + Name + ' ' ' As Name, ' + Name + ' As Value From 表 ' From SysColumns Where ID = OBJECT_ID( '表 ') Order By ColID
Select @S = Stuff(@S, 1, 10, ' ')
EXEC(@S)