写一条sql语句让你变为所要求的表

教师号星期号是否有课12有13有21有32有12有写一条sql语句让你变为这样的表教师号星期⼀一星期⼆二星期三1212131(各星期下的数字表... 教师号  星期号 是否有课
 1    2   有
 1    3   有
 2    1   有
 3    2   有
 1    2   有
写一条sql语句让你变为这样的表
教师号 星期⼀一 星期⼆二 星期三
 1       2   1 
 2   1   
 3       1
(各星期下的数字表示:对应的教师在星期几已经排的课数)
展开
 我来答
esrdz
推荐于2018-01-18
知道答主
回答量:2
采纳率:50%
帮助的人:1786
展开全部
SELECT s.教师号,
(CASE WHEN 星期号=1 THEN s.counts ELSE 0 END) '星期一',
(CASE WHEN 星期号=2 THEN s.counts ELSE 0 END) '星期二',
(CASE WHEN 星期号=3 THEN s.counts ELSE 0 END) '星期三',
(CASE WHEN 星期号=4 THEN s.counts ELSE 0 END) '其他'
FROM
(SELECT t.教师号,t.星期号,COUNT(星期号) counts
FROM Table t WHERE 是否有课='有' GROUP BY 教师号,星期号) s GROUP BY 教师号
百度网友d9b156865
2015-06-09 · TA获得超过165个赞
知道小有建树答主
回答量:384
采纳率:33%
帮助的人:195万
展开全部
先case when 语句判断或者 union
然后分组查询下就可以了
追问
求详细步骤。
追答
select 教师号,sum(星期一) as 星期一,sum(星期二) as 星期二,sum(星期三) as 星期三,sum(星期四) as 星期四,sum(星期五) as 星期五,
from(select 教师号,
case when 星期号=1 then 1 else 0 end as 星期一,
case when 星期号=2 then 1 else 0 end as 星期二,
case when 星期号=3 then 1 else 0 end as 星期三,
case when 星期号=4 then 1 else 0 end as 星期四,
case when 星期号=5 then 1 else 0 end as 星期五
from Tab
)A
group by 教师号
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式