[英]Join table with a subquery + SUM function in mySQL
这是提示和我正在使用的代码。 “查找所有项目的工作时间超过 20 小时的女性员工的姓名”
SELECT employee.ssn, employee.first_name, employee.last_name
FROM employee
WHERE employee.sex='F' AND employee.ssn IN (
SELECT working_hour.ssn
FROM working_hour
GROUP BY working_hour.ssn
HAVING SUM(working_hour.work_hour) > 20)
ORDER BY employee.first_name, employee.last_name;
现在我希望 output 包含按 employee.ssn 分组的 SUM(working_hour.work_hour) 但我似乎无法找到正确的代码来执行此操作。
PS:是不是和working_hour表有复合键有关系?
如果您想访问子查询中的字段,那么我会使用连接重新表述:
SELECT e.ssn, e.first_name, e.last_name, wh.total_hours
FROM employee e
INNER JOIN
(
SELECT ssn, SUM(work_hour) AS total_hours
FROM working_hour
GROUP BY ssn
HAVING SUM(work_hour) > 20
) wh
ON wh.ssn = e.ssn
WHERE e.sex = 'F'
ORDER BY e.first_name, e.last_name;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.