id subscriberid newsletterid Opened
1 1 1 yes
2 1 2 yes
3 2 1 yes
我的SQL查询应该是这样的:
select subscriberid
from email_marketing
where Opened=1 and (newsletterid=1 and newsletterid=2);
但它返回空记录。我正在尝试显示所有打开newsletterid 1& 2.
预期结果是subscriberid 1,他打开了两个简报(id 1和2)。 需要你的帮助。
答案 0 :(得分:0)
对于单个记录,newsletterid
不能同时为2个不同的值。所以你需要建立一个小组并查看完整的小组。
select subscriberid
from email_marketing
where Opened = 1 and newsletterid in (1,2)
group by subscriberid
having count(distinct newsletterid) = 2
您需要按subscriberid
进行分组,然后您可以计算之前已过滤的不同newsletterid
,这些应该是两个。