Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Auswahlabfrage mit innerem Auswahlabfragefehler

Das Problem besteht darin, ORDER BY zu platzieren im WHERE Klausel-Unterabfrage. Die SQL-Syntax erlaubt es Ihnen nicht, Elemente der Unterabfrage in WHERE anzuordnen -Klausel, da sie das Ergebnis der Abfrage insgesamt nicht ändert.

Sie sollten es verschieben, um die Syntax zu korrigieren:

SELECT empid  FROM employees WHERE deptid IN
    (
        SELECT deptid FROM department WHERE description LIKE '%application%'
    )
ORDER BY createddate DESC

Dann müssen Sie der department beitreten Tabelle und verwenden Sie ORDER BY in einer seiner Spalten:

SELECT e.empid
FROM employees e
JOIN department d ON e.deptid = d.deptid
WHERE d.description LIKE '%application%'
ORDER BY d.createddate DESC