教师号 星期号 是否有课
1 2 有
1 3 有
2 1 有
3 2 有`
1 2 有
写一条sql语句让你变为这样的表
教师号 星期一 星期二 星期三
1 2 1
2 1
3 1
各星期下的数字表示:对应的教师在星期几已经排的课数
select t.教师号,a.星期一,b.星期二,c.星期三 from (select DISTINCT 教师号 from teacher) as t LEFT JOIN (select 教师号,count(星期号) AS '星期一' from teacher where 星期号 = '1' and 是否有课 = '有' GROUP BY 教师号) as a ON t.教师号=a.`教师号` left join (select 教师号,count(星期号) AS '星期二' from teacher where 星期号 = '2' and 是否有课 = '有' GROUP BY 教师号) as b on t.教师号 = b.教师号 left join (select 教师号,count(星期号) AS '星期三' from teacher where 星期号 = '3' and 是否有课 = '有' GROUP BY 教师号) as c on t.教师号 = c.教师号