这是员工与依赖关系。我无法仅显示拥有多个受抚养人的员工。emp_no 555555 不应该存在的行。
SELECT emp_no, emp_name, dep_emp_no, dep_name, dep_relationship, trunc(MONTHS_BETWEEN(current_date, dep_date_of_birth)/12) "Age"
FROM DEPENDENT d JOIN employee e ON e.emp_no=d.dep_emp_no
WHERE dep_date_of_birth=(SELECT MIN(DEP_DATE_OF_BIRTH) FROM DEPENDENT dd WHERE d.dep_emp_no=dd.dep_emp_no)
EMP_NO EMP_NAME DEP_EM DEP_NAME DEP_RELATI Age
------ ------------------------------ ------ -------------------- ---------- ----------
444444 Hickman, Ron 444444 Amy DAUGHTER 22
555555 Moore, Wayne 555555 Sharon SPOUSE 65
111111 Li, Anna 111111 Chris SON 8
这就是给我错误的原因:
SELECT emp_no,
emp_name,
dep_emp_no,
dep_name,
dep_relationship,
trunc(MONTHS_BETWEEN(current_date, dep_date_of_birth)/12) "Age"
FROM DEPENDENT d
JOIN employee e ON e.emp_no=d.dep_emp_no
WHERE dep_date_of_birth=(SELECT MIN(DEP_DATE_OF_BIRTH)
FROM DEPENDENT dd
WHERE d.dep_emp_no=dd.dep_emp_no)
and where DEP_EMP_NO exists (select count(dep_emp_no)
from dependent
having count(dep_emp_no)>1
group by dep_emp_no);