建立视图“v_sun”查询,统计各个员工的缺勤及加班天数(显示“s id”、“sumno”和“sumadd”,其中“sumno”字段为缺勤总数,“sumadd”字段为加班总数)。(7分)
时间: 2023-10-11 21:06:48 浏览: 125
统计员工的加班时间
好的,以下是建立视图“v_sun”的SQL语句:
```
CREATE VIEW v_sun AS
SELECT s.id, SUM(CASE WHEN a.type = 'no' THEN a.days ELSE 0 END) AS sumno, SUM(CASE WHEN a.type = 'add' THEN a.days ELSE 0 END) AS sumadd
FROM staff s LEFT JOIN attendance a ON s.id = a.staff_id
GROUP BY s.id;
```
这个视图将员工表和考勤表进行左连接,以员工ID为分组依据,统计出每个员工的缺勤天数和加班天数。其中用到了SUM函数和CASE语句来进行条件判断和累加操作。
阅读全文