2つのテーブルがあります。この製品は(active_status = 0) 私が使用していたパートナーチャネルでアクティブでない場合は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の結果を持ちたい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
私はこのような結果テーブルの製品を持つようにしたい:
active_status = 0を持っているだけで、この製品ID(1004)ため、すべてのpartner_channelで
products_id | partner_channel | active_status
1004,amazon,0
私は私がWHEREフィルタで何かを逃したと思いますが、それについての手掛かりを持っていませんでした。たぶん私はproducts_catalog LEFT JOINにサブクエリを使用する必要がありますか?
ご協力いただければ幸いです。
ありがとうございました。あなたはこのようなHAVING
句に条件を配置する必要が
あなたがバイオリンを作ってくださいすることができ、pc.products_id BY '' GROUPで試すことができます.... –