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