日期:2014-05-18 浏览次数:20539 次
select (case when 星期='星期一' and 课时='上午' then 状态 end) as '星期一上午', ... .. from tb group by 姓名
------解决方案--------------------
简单的例子:
select 姓名, [星期一上午课]=max(case when week_name='星期一' and time_name='上午课' then attend_result end), [星期一下午课]=max(case when week_name='星期一' and time_name='下午课' then attend_result end), [星期二上午课]=max(case when week_name='星期二' and time_name='上午课' then attend_result end), [星期二下午课]=max(case when week_name='星期二' and time_name='下午课' then attend_result end), [星期三上午课]=max(case when week_name='星期三' and time_name='上午课' then attend_result end), [星期三下午课]=max(case when week_name='星期三' and time_name='下午课' then attend_result end) from test group by 姓名
------解决方案--------------------
create table test ( deal_date varchar(10), week_name varchar(10), person_name varchar(20), time_name varchar(20), attend_result varchar(10) ) go insert into test select '2009-04-20','星期一','肖湘','上午课','旷课' union select '2009-04-20','星期一','肖湘','下午课','正常' union select '2009-04-21','星期二','肖湘','上午课','正常' union select '2009-04-21','星期二','肖湘','下午课','旷课' union select '2009-04-22','星期三','肖湘','上午课','旷课' union select '2009-04-22','星期三','肖湘','下午课','旷课' union select '2009-04-20','星期一','陈阳','上午课','旷课' union select '2009-04-20','星期一','陈阳','下午课','旷课' union select '2009-04-21','星期二','陈阳','上午课','正常' union select '2009-04-21','星期二','陈阳','下午课','旷课' union select '2009-04-22','星期三','陈阳','上午课','旷课' union select '2009-04-22','星期三','陈阳','下午课','正常' select person_name, [星期一上午课]=max(case when week_name='星期一' and time_name='上午课' then attend_result end), [星期一下午课]=max(case when week_name='星期一' and time_name='下午课' then attend_result end), [星期二上午课]=max(case when week_name='星期二' and time_name='上午课' then attend_result end), [星期二下午课]=max(case when week_name='星期二' and time_name='下午课' then attend_result end), [星期三上午课]=max(case when week_name='星期三' and time_name='上午课' then attend_result end), [星期三下午课]=max(case when week_name='星期三' and time_name='下午课' then attend_result end) from test group by person_name /* person_name 星期一上午课 星期一下午课 星期二上午课 星期二下午课 星期三上午课 星期三下午课 -------------------- ---------- ---------- ---------- ---------- ----------