Mysql 获取不使用';我没有发过电子邮件

Mysql 获取不使用';我没有发过电子邮件,mysql,sql,select,Mysql,Sql,Select,我的数据库有以下表格 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 te

我的数据库有以下表格

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)

这里有问题吗?“我想要”不是问题,而是要求。我们不是免费的代码编写服务。相反,我们希望帮助您解决一个具体问题。您在执行此操作时有问题吗?你面临什么困难?(提示:“我还没有试过”不是一个有效的困难。)它应该是一个使用连接的相对简单的查询,并且可以在子查询中进行,也可以不在子查询中进行。有几种方法可以做到这一点。如果你用谷歌搜索“查找不在另一个表中的ID”,你会得到大致的想法。提示:
左连接
不存在
不在
“用户既不是保留表,也不是保留关键字”是的,它是@草莓@RaymondNijland,我想你只是犯了个错误。这是常有的事。