我有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',你能不能做一个小提琴...... –