我的数据库有以下表格,
User (id, name) EmailTemplate (id, subject, template) EmailTrack (id, user_id, email_template_id)
我想通过sql查询得到尚未发送特定电子邮件模板的用户。
你可以用 not exists 操作员:
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)