Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Por que obter o erro ORA-00937


Falta o grupo por na seleção externa. Todos os não agregados em uma instrução select devem ser listados no grupo por.
SELECT aname, MAX(cruisingrange)
FROM   Aircraft 
WHERE aid IN(SELECT aid 
         FROM Certified
         WHERE eid in (SELECT eid
                      FROM Certified
                      GROUP BY eid
                      HAVING COUNT(eid) > 3) )
GROUP BY aname 
;

Observe que você tem um grupo por na seleção mais interna; mas você parece estar faltando no mais externo.

Também concordo que você quer dizer in ou equal será que mais de um EID estará em Certified se for necessário in vs =