要求:
结果:
解决方法:
代码
1 CREATE TABLE temp
2 (
3 [教师编号] INT NULL,
4 [工作日] VARCHAR (10) NULL,
5 [是否有课] VARCHAR (10) NULL
6 )
7
8 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(1,'星期二','有');
9 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(1,'星期三','有');
10 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(2,'星期一','有');
11 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(3,'星期二','有');
12 INSERT INTO temp([教师编号],[工作日[,[是否有课]) VALUES(1,'星期二','有');
13
14 SELECT [教师编号],
15 星期一=sum(CASE [工作日] WHEN '星期一' THEN 1 ELSE NULL END),
16 星期二=sum(CASE [工作日] WHEN '星期二' THEN 1 ELSE NULL END),
17 星期三=sum(CASE [工作日] WHEN '星期三' THEN 1 ELSE NULL END)
18 FROM temp
19 GROUP BY [教师编号];
2 (
3 [教师编号] INT NULL,
4 [工作日] VARCHAR (10) NULL,
5 [是否有课] VARCHAR (10) NULL
6 )
7
8 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(1,'星期二','有');
9 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(1,'星期三','有');
10 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(2,'星期一','有');
11 INSERT INTO temp([教师编号],[工作日],[是否有课]) VALUES(3,'星期二','有');
12 INSERT INTO temp([教师编号],[工作日[,[是否有课]) VALUES(1,'星期二','有');
13
14 SELECT [教师编号],
15 星期一=sum(CASE [工作日] WHEN '星期一' THEN 1 ELSE NULL END),
16 星期二=sum(CASE [工作日] WHEN '星期二' THEN 1 ELSE NULL END),
17 星期三=sum(CASE [工作日] WHEN '星期三' THEN 1 ELSE NULL END)
18 FROM temp
19 GROUP BY [教师编号];