如何把RegField_Name 列的内容显示成一行
静态sql, 指RegField_Name 列的内容固定,只有姓名、性别等指
select RegPeople_ID as 'people_id',
max(case RegField_Name when '姓名' then RegField_value else '''' end) 姓名,
max(case RegField_Name when '性别' then RegField_value else '''' end) 性别,
max(case RegField_Name when '学校' then RegField_value else '''' end) 学校
from Reg_People_Dedail
group by RegPeople_ID
然而很多情况是随机变化的,then
动态sql
declare @sql varchar(8000)
set @sql = 'select RegPeople_ID as ' + 'people_id'
select @sql = @sql + ' , max(case RegField_Name when ''' + RegField_Name + ''' then RegField_value else '''' end) [' + RegField_Name + ']'
from (select distinct RegField_Name from Reg_People_Dedail) as a
set @sql = @sql + ' from Reg_People_Dedail group by RegPeople_ID'
exec(@sql)
喜欢、对你有帮助的,点个赞吧,鼓励一下~~~~~~~~