sql >> Base de Datos >  >> RDS >> Oracle

¿Por qué aparece el error ORA-00937?

Falta agrupar por en la selección exterior. Todos los no agregados en una declaración de selección deben enumerarse en el 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 
;

Tenga en cuenta que tiene un grupo por en la selección más interna; pero parece que te falta lo más externo.

También estoy de acuerdo, ¿quieres decir in? o equal habrá más de un EID en Certificado si es así, es probable que necesite in vs =