你好,這是我的表有多個表的表MySQL查詢問題加入
表1 =>產品
id product price active
3 sample 1500 1
4 sample2 2300 2
表2 => product_attibute_value
id product option_value
1 3 Green
2 3 Red
和表3 => product_attribute_options
id product option_value
1 2 8
2 2 7
和我的查詢是
SELECT typ.*
FROM products typ , attibute_value tyav
WHERE typ.active='1' AND (tyav.option_value = 'Green') AND typ.id=tyav.product
GROUP BY typ.id
ORDER BY typ.price ASC
這工作正常。現在我想要添加product_attribute_options表。
現在我添加新的查詢,這樣
SELECT typ.*
FROM products typ , attibute_value tyav, product_attibute_options tyop
WHERE typ.active='1' AND (tyav.option_value = '7' OR tyav.option_value = 'Orange') OR
(tyav.option_value = '7' OR tyav.option_value = 'Orange') AND
typ.id=tyav.product OR typ.id=tyop.product
GROUP BY typ.id
ORDER BY typ.price ASC
我顯示在一個頁面選項值,如果我選擇了此選項像8或或橙色,它會顯示該產品。這個產品應該來自attribute_options表和attribute_value表。
它沒有到來。我在這個查詢中犯了什麼錯誤?在此先感謝
對不起我qyestion是錯誤的。我需要pav.option_value ='7'或pao.option_value ='7' – Prakash
@Prakash檢查更新後的答案 –
如果我的查詢是SELECT p。* FROM products p INNER JOIN product_attibute_value pav ON p.id = pav.product WHERE p.active = 1 AND(pav.option_value ='orange') GROUP BY p.id ORDER BY p.price ASC,它會顯示正確的結果,當我加入選項表時它的未來 – Prakash