0
我有兩個表,產品和products_descriptionMySQL的兩個表最小值和集團通過
產品:
Product_ID Product_Price
1 10
2 20
3 10
4 20
5 10
6 20
7 10
8 10
9 10
10 10
Products_Description:
Product_ID Product_Name
1 Pants - Black
2 Pants - Black
3 Pants - White
4 Pants - White
5 Pants - Red
6 Pants - Red
7 Hat
8 Socks
9 Scarf
10 Bird
基本上我需要實現相對於碼到當前已經存在於購物車中的代碼。
實現需要GROUP BY products_name - 但提供最便宜的一個。
到目前爲止,我有以下幾點:
SELECT p.products_id, p.products_price, pd.products_name
FROM products p
// BOF定製子查詢
join
(
SELECT pp.products_id, pp.products_name, min(pr.products_price) as min_price
from products_description pp
inner JOIN products pr
ON pp.products_id = pr.products_id
group by pp.products_name
)
AS subq on p.products_id = subq.products_id and p.products_price = subq.min_price
// EOF定製子查詢
LEFT JOIN products_description pd on p.products_id = pd.products_id
所需的輸出:
Product_ID Product_Name Product_Price
1 Pants - Black 10
3 Pants - White 10
5 Pants - Red 10
7 Hat 10
8 Socks 10
9 Scarf 10
10 Bird 10
但發生了什麼事是褲子被刪除。並且只有產品7-10被留下....
任何想法的人都可以嗎?
「實現需要GROUP BY products_name - 但提供最便宜的一個。」什麼?聽起來你正試圖解決數據庫設計的問題?你通常不會分組產品.... –
我有一種非常具體的需要這樣做。這對DB設計來說不是問題。 – StuyvesantBlue
這不是它從示例數據看起來的樣子... –