我正在加入两张桌子Employee
和Wages
. 现在一个员工可以有多个工资,因为他们可以在不同的项目中工作,我想要他的工资总和。还有一个名为 的列Employee_benefits_Claimed_Ind
。这是一个指示员工是否在每个项目中要求任何福利的指标。他可以为某些项目申请福利,但不能为某些项目申请福利,但就我而言,如果他甚至在一个项目中申请福利,他都不符合资格。这是我要填充的表:
CREATE TABLE EMPLOYEE_QUAL
(Employee_id NUMBER,
TOTAL_WAGES NUMBER,
EMPLOYEE_disQUALIFY CHAR(1))
INSERT INTO EMPLOYEE_QUAL(Employee_id, Total_wages, EMployee_disQualify)
SELECT c_Employee_id,
c_Total_wages,
c_Employee_disQualify
FROM (
Select Employee_ID as c_Employee_id
from Employees
) e
LEFT JOIN (
Select SUM(Wages),
Employee_disQualify
from wages
group by Employee_disQualify
) w on e.employee_id = w.employee_id
但是,如果一个员工为一个人申请福利,而另一个人没有,这将只有两个条目,因为GROUP BY
. 理想情况下,它应该只有一个条目,其中 Employee_disqualify_ind 为“Y”,因为他声称在一个项目中受益。如果他没有在另一个上也没关系。我该如何实现这一目标?