Oracle
 sql >> Database >  >> RDS >> Oracle

Query di selezione Oracle con errore di query di selezione interna

Il problema è inserire ORDER BY nel WHERE sottoquery della clausola. La sintassi SQL non consente di ordinare gli elementi della sottoquery in WHERE clausola, perché non cambia il risultato della query in generale.

Dovresti spostarlo per correggere la sintassi:

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

Quindi devi iscriverti al department tabella e utilizzare ORDER BY su una delle sue colonne:

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