我想获得如下记录,但不能:
SELECT *
FROM D
WHERE D.C IN (
SELECT A.*
FROM A
LEFT JOIN B ON (A.C = B.C)
WHERE B.C IS NULL)
基本上想要在A.Column
&的比较中获得不匹配中的任何内容B.Column
根据D
结果选择A & B
。{/ p>
已编辑以在实际应用中显示代码示例:
这是php中的示例代码,用于向续签用户发送续订通知并登录到两个表mailer&基于过期用户的续订:
SELECT * FROM expiring_users WHERE expiring_users.id IN(
SELECT mailer_log.*
FROM mailer_log
LEFT JOIN renewals_log ON (mailer_log.id = renewals_log.id)
WHERE renewals_log.id IS NULL)
希望这可以解决这个问题。
答案 0 :(得分:1)
搞定了。对于其他情况,我使用下面的代码:
SELECT * FROM expiring_users
WHERE expiring_users.id IN(
SELECT mailer_log.id
FROM mailer_log
LEFT JOIN renewals_log ON (mailer_log.id = renewals_log.id)
WHERE renewals_log.id IS NULL)
它会根据expiring_users
和mailer_log
中不匹配的条目从renewals_log
表中获取所有记录。
这用于验证通知邮件程序系统是否无法根据现有用户表更新续订中的记录并使用户过期。