Oracle
 sql >> Base de données >  >> RDS >> Oracle

Je ne comprends pas pourquoi mon groupe by échoue

Vous pouvez le convertir en :

SELECT ENAME, MAX(SAL), STORES.CITY FROM EMPLOYEES 
INNER JOIN STORES 
ON EMPLOYEES.STORE_ID = STORES.STORE_ID
GROUP BY ENAME, STORES.CITY

ou

SELECT EMPLOYEES.STORE_ID, MAX(SAL), STORES.CITY FROM EMPLOYEES 
INNER JOIN STORES 
ON EMPLOYEES.STORE_ID = STORES.STORE_ID
GROUP BY EMPLOYEES.STORE_ID, STORES.CITY

puisque dans votre cas, l'instruction SQL Select a des colonnes non groupées et non agrégées dans la liste de sélection, c'est une violation des règles. Et pour votre cible préférerez peut-être celle-ci :

SELECT ENAME, MAX(SAL), STORES.STORE_ID, STORES.CITY FROM EMPLOYEES 
INNER JOIN STORES 
ON EMPLOYEES.STORE_ID = STORES.STORE_ID
GROUP BY ENAME, STORES.STORE_ID, STORES.CITY