Cách chuẩn để tiếp cận điều này là sử dụng truy vấn con để xác định các sản phẩm và giá tối đa của chúng từ product_supplier
bảng, sau đó nối truy vấn con này với order
để có được bộ kết quả bạn muốn.
SELECT t1.orderID,
t1.productID,
COALESCE(t2.cost_price, 0.0) AS cost_price -- missing products will appear
FROM order t1 -- with a zero price
LEFT JOIN
(
SELECT productID, MAX(cost_price) AS cost_price
FROM product_supplier
GROUP BY productID
) t2
ON t1.productID = t2.productID AND
t1.cost_price = t2.cost_price