楼主可搜索 SQL行转列 看能不能找到更多相关信息
declare @sql varchar(MAX)
--获取所有表头列,用],[隔开
select @sql = isnull(@sql + '],[' , '') + 表头列 from 表 group by 表头列
--首尾加方括号
set @sql = '[' + @sql + ']'
--执行动态SQL语句
exec ('select * from (select * from 表) a pivot (max(数据列) for 表头列 in (' + @sql + ')) b')
可以用临时表处理 先把数据存到临时表中 select * into #aaa from 原表再用update更新表里的数据 update 原表 set [身高]=B.[体重],[体重]=B.[