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

Identifiant SQL invalide

Le problème est que vous mélangez des JOIN. Vous avez des jointures implicites et explicites. La syntaxe JOIN explicite avec la clause ON a une priorité plus élevée sur la jointure implicite avec les virgules. Par conséquent, l'alias de l'plant et l'offerte les tables ne seront pas disponibles dans la clause ON. Essayez d'utiliser le même type JOIN partout :

SELECT p.plantnaam, o.levcode, o.offerteprijs
FROM 
(
  SELECT plantcode , MIN(offerteprijs) AS offprijs 
  FROM offerte
  GROUP BY plantcode
) s
INNER JOIN plant p
   ON s.plantcode = p.plantcode
INNER JOIN offerte o
   ON s.offprijs = o.offerteprijs
ORDER BY p.plantnaam, l.levcode