我试图建立这些简化MySQL表查询:MySQL的:查找记录,而不匹配(JOIN/IS NULL)
==campaigns==
id
content
==lists==
id
name
==subscriptions==
id
list_id
subscriber_id
==events==
id
campaign_id
list_id
subscription_id
==triggers==
id
campaign_id
list_id
time_to_send
我想找到所有订阅的subscription_id没有相应的事件对于某个campaign_id。
此查询返回的所有订阅,而不事件:
SELECT * FROM subscriptions AS s LEFT JOIN events AS e ON s.id = e.subscription_id WHERE e.subscription_id IS NULL
但是,我想回到所有订阅要么没有特定广告活动或事件没有事件特定触发 。
我该怎么做?
SELECT * FROM订阅为S LEFT JOIN事件E在s.id = E。 subscription_id INNER JOI N个广告系列ON e.campaign_id = campaigns.id WHERE(e.subscription_id IS NULL)AND(campaigns.id = ID)当然..? – adaam
对不起,什么?该活动持有该活动。你怎么能有一个订阅_without_事件,但_with_一个活动? –
您可以在特定订阅下发送多个广告系列。订阅可能立即发送一个活动(#1),但有一个不同的活动(#2)排队等待两天后发送。因此,我们发送了活动#1的活动表中可能会有一个条目,但我们想知道此订阅是否曾专门发送过活动#2。 – user3199785