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

SQL de identificador no válido

El problema es que estás mezclando JOINs. Tiene uniones tanto implícitas como explícitas. La sintaxis de JOIN explícita con la cláusula ON tiene mayor precedencia que la combinación implícita con las comas. Como resultado, el alias de la plant y la offerte las tablas no estarán disponibles en la cláusula ON. Intenta usar el mismo tipo JOIN en todo:

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