createtable tb(用户ID varchar(10),姓名 varchar(10),地址 varchar(10)) insert tb select'1','张三','浙江' insert tb select'2','李四','湖南' insert tb select'3','王五','广东' --转换后的表 createtable tbl([序号]int,[属性名]varchar(10),[值]varchar(10)) --查询 declare@addvarchar(10) declare@namevarchar(10) declare@idvarchar(10) declare@colvarchar(10) declare cur cursorforselect name from syscolumns where id=object_id('tb') open cur fetchnextfrom cur into@col while@@fetch_status=0 begin exec('insert tbl select (select count(*) from tb where 用户ID>a.用户ID) as ''序号'','''+@col+''','+@col+' from tb a') fetchnextfrom cur into@col end close cur deallocate cur go select*from tbl orderby 序号,属性名 desc go --删除测试数据 droptable tb droptable tbl