我有2個表。MySQL需要子選擇或臨時表
First table - products
products_id | quantity
1001,1
1002,2
1003,5
1004,4
Second table - products_catalog
products_catalog_id | products_id | partner_channel |active_status
1,1001,amazon,0
2,1001,ebay,0
3,1001,zalando,1
4,1002,amazon,1
5,1002,ebay,0
6,1003,amazon,1
7,1003,ebay,1
8,1003,zalando,1
9,1004,amazon,0
10,1004,ebay,0
11,1004,zalando,0
我想有產品ID與所述條件的結果,如果該產品沒有激活任何夥伴信道(active_status = 0) 我用WHERE濾波器是這樣的:
SELECT p.products_id, pc.partner_channel, pc.active_status
FROM products p
LEFT JOIN products_catalog pc ON pc.products_id=p.products_id
WHERE pc.active_status='0'
GROUP BY p.products_id ORDER BY p.products_id;
WHERE active_status = 0,但結果卻是這樣的:
products_id | partner_channel | active_status
1001,amazon,0
1002,ebay,0
1004,amazon,0
我希望能有結果表同類產品:
products_id | partner_channel | active_status
1004,amazon,0
因爲有active_status = 0
所有partner_channel只有這個產品ID(1004),我想我錯過了一些在WHERE過濾器,但沒有關於任何線索。也許我應該在LEFT JOIN到products_catalog時使用子查詢?
任何幫助將不勝感激。
謝謝。
你可以試一試'GROUP BY pc.products_id',你能不能做一個小提琴...... –