Trying to retrieve just users that don’t have a disabled campaign, where disabled = 1.
A user can have a disabled campaign and a non-disabled campaign, but if they have any disabled campaigns I want to exclude them from my final result.
Thinking I need something like
SELECT DISTINCT
user_id,
CASE
WHEN
disabled = 1
THEN
'Disabled'
ELSE
'Good'
END
AS campaign_disabled
But this just returns two rows for each user_id, one being Good and the other campaign_disabled
Advertisement
Answer
You want the users that have disabled = 0 for all their campaigns, so the max value of the column disabled must be 0:
SELECT user_id FROM tablename GROUP BY user_id HAVING MAX(disabled) = 0