【发布时间】:2021-05-28 14:31:38
【问题描述】:
- 员工
- 员工 该图将显示一个简短的
我想找出哪个员工超过了在员工表中定义的工作时间 (TIME) 表示的计划工作时间。 我已经写了这个查询
SELECT em.empid, em.entrytime, em.exittime, em.break, e.firstname, e.lastname,e.defined_working_hours, SUM(em.exittime - em.entrytime) AS workedhours, date_part('month',em.entrytime) FROM emplog AS em JOIN employee AS e ON e.empid = em.empid WHERE workedhours > defined_working_hours GROUP BY em.empid, e.defined_working_hours, em.entrytime, em.exittime, em.break, e.firstname, e.lastname, e.empid, date_part('month',em.entrytime) ORDER BY e.empid;
但我收到一个错误“工作时间”列不存在。
但我知道当我在没有“的情况下运行查询时列不存在”
WHERE workedhours > defined_working_hours"
SELECT
em.empid,
em.entrytime,
em.exittime,
em.break,
e.firstname,
e.lastname,
e.defined_working_hours,
SUM(em.exittime - em.entrytime) AS workedhours,
date_part('month', em.entrytime)
FROM emplog AS em
JOIN employee AS e ON e.empid = em.empid
GROUP BY
em.empid,
e.defined_working_hours,
em.entrytime,
em.exittime,
em.break,
e.firstname,
e.lastname,
e.empid,
date_part('month', em.entrytime)
ORDER BY e.empid;
我得到一张桌子,但目的是找出哪些员工每周超过计划的工作时间超过 1 次。 可以在我出错的地方找到一些线索。
【问题讨论】:
标签: sql database postgresql