私は2つのテーブルEmployee
とを結合していWages
ます。これで、従業員はさまざまなプロジェクトで作業できるため、複数の賃金を受け取ることができます。私は彼の賃金の合計が必要です。という列もありますEmployee_benefits_Claimed_Ind
。これは、従業員が各プロジェクトで何らかの利益を主張したかどうかを示す指標です。彼はいくつかのプロジェクトの利益を主張することができ、いくつかのプロジェクトの利益を主張することはできませんが、私が懸念している限り、彼が資格のない1つのプロジェクトでも利益を主張する場合。これが私が入力しようとしているテーブルです:
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
ただし、従業員が一方の利益を主張し、もう一方の利益を主張しない場合、。のため、これには2つのエントリしかありませんGROUP BY
。理想的には、Employee_disqualify_indが「Y」であるエントリは1つだけである必要があります。これは、彼が1つのプロジェクトで利益を主張しているためです。彼がもう一方にいなかったかどうかは関係ありません。これを達成するにはどうすればよいですか?