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



我的数据库有以下表格,

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

我想让那些还没有通过SQL查询发送特定电子邮件模板的用户。

您可以使用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)

最新更新