获取未发送电子邮件的用户MySQL

时间:2018-11-30 15:18:32

标签: mysql sql select

我的数据库有以下表格,

User (id, name)
EmailTemplate (id, subject, template)
EmailTrack (id, user_id, email_template_id)

我想通过SQL查询吸引尚未发送特定email_template的用户。

1 个答案:

答案 0 :(得分:2)

您可以使用not exists运算符:

SELECT *
FROM   user u
WHERE  NOT EXISTS (SELECT *
                   FROM   emailtemplate temp
                   JOIN   emailtrack track ON temp.id = track.email_template_id
                   WHERE  template = 'some_specific_template' AND
                          track.user_id = u.id)