Слишком долго для комментария.
Это не
SELECT articulos.id, MAX(encargosProveedor.fecha_entrega)
FROM ...
подзапрос, это проблема. Поскольку это часть выражения JOIN
, ему разрешено возвращать более одной строки. Однако , поскольку это возвращает более одной строки, окружающий подзапрос:
SELECT articulos.costo_us * (1 + articulos.iva_coef)
FROM articulos
INNER JOIN (SELECT articulos.id, MAX(encargosProveedor.fecha_entrega)
FROM ...)
также вернет более одной строки.
Вам нужно найти способ, чтобы внешний подзапрос не возвращал более одной строки, даже когда внутренний, возможно, с помощью функций агрегирования, таких как MIN
или MAX
. Кроме того, вам нужно найти способ различать строки во внутреннем подзапросе, которые имеют одинаковое значение MAX(encargosProveedor.fecha_entrega)
(возможно, упорядочение по другому значению с LIMIT 1
), чтобы запрос возвращал только одну строку.