欢迎使用CSDN-markdown编辑器

来源:互联网 发布:软件企业网址 编辑:程序博客网 时间:2024/05/18 15:07

题目

教师号  星期号 是否有课
 1    2   有
 1    3   有
 2    1   有
 3    2   有`
 1    2   有
写一条sql语句让你变为这样的表
教师号 星期一 星期二 星期三
 1       2   1 
 2   1   
 3       1
各星期下的数字表示:对应的教师在星期几已经排的课

答案

创建表

CREATE TABLE class1 (
t_no NUMERIC,
xingqi NUMERIC,
haveClass VARCHAR (10)
);

插入数据

INSERT INTO class1
VALUES
(1, 2, ‘有’);

INSERT INTO class1
VALUES
(1, 2, ‘有’);

INSERT INTO class1
VALUES
(2, 2, ‘无’);

INSERT INTO class1
VALUES
(2, 1, ‘有’);

INSERT INTO class1
VALUES
(1, 3, ‘有’);

INSERT INTO class1
VALUES
(2, 4, ‘有’);

INSERT INTO class1
VALUES
(1, 5, ‘有’);

INSERT INTO class1
VALUES
(1, 3, ‘有’);

INSERT INTO class1
VALUES
(1, 3, ‘有’);

查找星期

SELECT DISTINCT xingqi FROM class ORDER BY xingqi;

查询课表

SELECT
teacher_no AS 教师号,
SUM(
CASE
WHEN xingqi = 1 THEN
1
ELSE
0
END
) AS 星期一,
SUM(
CASE
WHEN xingqi = 2 THEN
1
ELSE
0
END
) AS 星期二,
SUM(
CASE
WHEN xingqi = 3 THEN
1
ELSE
0
END
) AS 星期三
FROM
class
GROUP BY
teacher_no;

0 0
原创粉丝点击