我认为,通过将“max”和group by移到外部语句,逻辑至少应该可以正常工作(如果还想计算该列,则需要添加“coalesce”语句)。不确定表现如何,但我会先看看结果是否总体上是好的。希望语法没问题,没测试过。
SELECT t1.id,
t1.collection_date,
MAX(t2.last_order_date)
FROM job_details AS t1
LEFT JOIN
(
SELECT job_id,
last_order_date
FROM sales_orders
)
AS t2
ON t2.job_id = t1.id
GROUP BY t1.id