【发布时间】:2023-03-27 02:05:01
【问题描述】:
select * from order
-------------------
|orderID|productID|
-------------------
| 1 | 234 |
| 2 | 234 |
| 3 | 123 |
-------------------
select * from product_supplier
-------------------------------------------
|ID|supplierID|productID|cost_price|latest|
-------------------------------------------
|1 | 1 | 234 | 1.00 | 0 |
|2 | 1 | 234 | 0.50 | 1 |
|3 | 2 | 123 | 0.75 | 1 |
-------------------------------------------
desired result
------------------------------
|orderID|productID|cost_price|
------------------------------
| 1 | 234 | 1.00 |
| 2 | 234 | 1.00 |
| 3 | 123 | 0.75 |
------------------------------
我希望加入上面的两个表,以获得给定 productID 的 orderID、productID 和最大的 cost_price。
SELECT orderID, productID, cost_price
FROM order LEFT JOIN product_supplier
ON order.productID=product_supplier.productID AND MAX(cost_price);
给ERROR 1111 (HY000): Invalid use of group function
如何将joined 表限制为每个order 一行,并与product_supplier 中对应的最大cost_price 值相连接?
【问题讨论】: