繁体   English   中英

我需要加入一个表和一个子查询

[英]I need to join one table and one sub-query

SELECT * FROM Employee
(
   SELECT eid  FROM Assignment
   GROUP BY eid
   HAVING SUM(hours_per_week) > 40
)

这是我的代码,用于查找超过40的hours_per_week。子查询返回超过40小时的人的eid。 我的问题是如何使用从子查询中获得的eid显示Employee中的所有人员。 在哪里? 还是加入?

使用WHERE ... IN (SELECT ...)

SELECT col1, col2, ..., coln
FROM Employee
WHERE eid IN
(
   SELECT eid  FROM Assignment
   GROUP BY eid
   HAVING SUM(hours_per_week) > 40
)
SELECT e.*
FROM Employee AS e
INNER JOIN
(
   SELECT eid
   FROM Assignment
   GROUP BY eid
   HAVING SUM(hours_per_week) > 40
) AS ot ON ot.eid = e.eid
Select E.EID, sum(A.hours_per_Week)
FROM employee E 
INNER join Assignment A on E.EID = A.EID
Group By E.EID 
Having sum(A.Hours_per_week) > 40

你为什么需要子查询?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM