sql >> Databáze >  >> RDS >> Oracle

Proč se zobrazuje chyba ORA-00937

Ve vnějším výběru chybí skupina podle. Všechny neagregáty v příkazu select musí být uvedeny ve skupině podle.

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 
;

Všimněte si, že máte skupinu podle nejvybranějšího vnitřního; ale zdá se, že vám to na nejkrajnějším místě chybí.

Také souhlasím, máte na mysli in nebo equal bude více než jedno EID v certifikaci, pokud ano, pravděpodobně budete potřebovat in vs =




  1. Spojte 2 tabulky, kde se dvě sady čísel překrývají ve spojovacích sloupcích

  2. Jak JOIN tabulky pomocí rozsahu dat bez procedur

  3. Jak zakázat přísný režim MySQL

  4. Anonymizujte podrobnosti svého plánu nativně v Průzkumníku plánů