create table ball
(member int,
doings nvarchar(50),
time nvarchar(10))
insert ball
select 1,'乒乓球','星期1' union all
select 1,'篮球','星期3' union all
select 2,'羽毛球','星期1' union all
select 2,'足球','星期4'
go
select * from ball
go
select member,
星期1=max((case time when '星期1' then doings else '' end)),
星期2=max((case time when '星期2' then doings else '' end)),
星期3=max((case time when '星期3' then doings else '' end)),
星期4=max((case time when '星期4' then doings else '' end)),
星期5=max((case time when '星期5' then doings else '' end)),
星期6=max((case time when '星期6' then doings else '' end)),
星期7=max((case time when '星期7' then doings else '' end))
from ball
group by member
select member
,[星期一]=max(case when [time]='星期一' then doings else '' end)
,[星期二]=max(case when [time]='星期二' then doings else '' end)
,[星期三]=max(case when [time]='星期三' then doings else '' end)
,[星期四]=max(case when [time]='星期四' then doings else '' end)
,[星期五]=max(case when [time]='星期五' then doings else '' end)
,[星期六]=max(case when [time]='星期六' then doings else '' end)
,[星期日]=max(case when [time]='星期日' then doings else '' end)
from tb
group by member