日期:2014-05-18 浏览次数:20633 次
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 星期一上午课 星期一下午课 星期二上午课 星期二下午课 星期三上午课 星期三下午课
-------------------- ---------- ---------- ---------- ---------- ----------