1

感谢另一个用户,我终于能够使用这个查询收集一些数据:

SELECT r.form, s.value as email
FROM subrecords s join
     records r
     on s.record = r.id AND r.name = 'question-form'
WHERE s.title = 'email'
GROUP BY s.value, r.form

上述查询中涉及的表的详细信息见Finding duplicates in MYSQL table where data is in multiple tables(需要多个条件)

通过上面的查询,我得到了提交特定表单的电子邮件列表。

我现在需要找出哪些电子邮件地址订阅了特定的邮件列表,使用上面列出电子邮件地址的查询的“s.value”

我首先需要找出识别每个唯一订阅者及其电子邮件地址的subscriber.subid,这是我将加入上述查询结果的地方

表 -> 订阅者模式

子ID | 电子邮件

然后从下表中选择 WHERE listid = '33'

表 -> 列表子模式

列表ID | 子ID | 子日期 | 取消分类 | 地位

非常感谢大家的不可思议的帮助!

4

1 回答 1

1

这是一种进行更多连接的方法:

SELECT r.form, s.value as email,
       (case when max(l.listid is not null) then 'YES' else 'NO' end) as InList33
FROM subrecords s join
     records r
     on s.record = r.id AND r.name = 'question-form' left outer join
     subscriber_schema ss
     on ss.email = s.value left outer join
     listsub l
     on ss.subid = l.subid and
        l.listid = '33'
WHERE s.title = 'email'
GROUP BY s.value, r.form;
于 2013-09-15T13:38:38.533 回答