Die Fehlermeldung "ORA-00920: Ungültiger Vergleichsoperator, der" auf die Zählung innerhalb der where-Klausel
Dies ist ein Mitarbeiter zu, abhängigen Beziehung. Ich habe Probleme bei der Anzeige nur der Mitarbeiter hat mehr als eine abhängige. Die Zeile, die nicht da sein sollte, ist für 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
Dies ist, was gibt mir die Fehlermeldung:
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);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein
and where DEP_EMP_NO
zu viel und ein Zustand, fehlen in der Zählung. Die folgenden arbeiten sollten.exists
werden müssen, standalone, aber dann müssen Sie schließen. Die Abfrage ist immer noch ein bisschen ungeschickt und kann sogar noch mehr verbessert, aber ich denke, man kann arbeiten, den rest für sich selbst.and (select count(*) from dependent d2 where d.dep_emp_no = d2.dep_emp_no) > 1