您的位置:首页 > 职场人生

mysql经典面试题

2017-03-16 17:24 633 查看
面试题目:

有一张表



用一句简单的sql得出如下图:



一种方式:

SELECT
tcr.教师号,
(
CASE (
SELECT
是否有课
FROM
t_teacher t
WHERE
t.星期号 = 1
AND t.教师号 = tcr.教师号
)
WHEN '有' THEN
'有课'
ELSE
'无课'
END
) AS 周一,
(
CASE (
SELECT
是否有课
FROM
t_teacher t
WHERE
t.星期号 = 2
AND t.教师号 = tcr.教师号
)
WHEN '有' THEN
'有课'
ELSE
'无课'
END
) AS 周二,
(
CASE (
SELECT
是否有课
FROM
t_teacher t
WHERE
t.星期号 = 3
AND t.教师号 = tcr.教师号
)
WHEN '有' THEN
'有课'
ELSE
'无课'
END
) AS 周三,
(
SELECT
COUNT(教师号)
FROM
t_teacher tc
WHERE
tc.教师号 = tcr.教师号
) AS 一周课数
FROM
t_teacher tcr
GROUP BY
tcr.教师号
HAVING
一周课数 > 1
ORDER BY
一周课数
写的不是很好,谢谢补充优化!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: