我有一個兩表加入其中一個表包含產品數據和其他定價數據,包括多個折扣定價。並非每個產品在定價表中都有多個條目,因爲某些產品只有單個單價。 我想弄明白的是在我的選擇如何設置一個標誌,讓我知道如果一個產品有多個定價可用。mysql加入選擇最低價格集標誌
我現在有的代碼(見下文)會返回產品並找到每種產品的最低價格。然而就像我說的,並不是所有的產品都有「最低價格」。我試圖確定產品的價格是單個單價還是最低價。
SELECT products.*
, products_pricing.*
FROM products
LEFT
JOIN products_pricing
ON products.product_id = products_pricing.product_id
LEFT
JOIN products_pricing AS filter
ON products_pricing.product_id = filter.product_id
AND products_pricing.qty_price > filter.qty_price
WHERE filter.product_id IS NULL
AND products.product_active > 0
ORDER
BY products.product_id DESC
(我不熟悉MySQL),但你可以子查詢產品嗎?也許像這樣,你加入到子查詢中,或者將它保存爲你加入的'視圖'? SELECT \t MIN(PRICE), CASE WHEN COUNT(*)= 1 THEN 1 ELSE 0 END AS SINGLE_PRICE 產品來自 GROUP BY PRODUCT_ID – Sean
將所期望的結果是什麼樣的?更好的是,請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry