mysql列表与查询逻辑的比较问题

标签 mysql list comparison

我正在比较 mysql 中的两个电子邮件地址列表 - listA 和 listB(两者都是 View )。最初,我想查找 listA 中不在 listB 中的所有电子邮件地址。我成功地做到了这一点:

$comparison_query = mysql_query("SELECT DISTINCT email_addresses FROM listA WHERE email_addresses NOT IN (SELECT DISTINCT email_addresses FROM listB) ORDER BY email_addresses");

现在,我想查找 listA 中不在 listB 或异常(exception)表中的所有电子邮件地址。我尝试这样做:

$comparison_query = mysql_query("SELECT email_addresses FROM listA WHERE email_addresses NOT IN (SELECT DISTINCT email_addresses FROM ((SELECT email_addresses FROM listB) UNION (SELECT email_addresses FROM exception))) ORDER BY email_addresses");

但是,这不起作用。谁能看出我哪里出了问题吗?

谢谢!

最佳答案

使用AND代替UNION

 mysql_query("SELECT email_addresses FROM listA
        WHERE email_addresses  NOT IN
        ( SELECT DISTINCT email_addresses FROM listB) AND 
         email_addresses  NOT IN
        (SELECT DISTINCT email_addresses FROM exception)) 
        ORDER BY email_addresses");

关于mysql列表与查询逻辑的比较问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3123109/

相关文章:

python - 如何使用 python 删除循环列表的元素,直到只剩下一个元素?

javascript - 比较日月年

Excel 2列比较: duplicate in one column,但作为对唯一

MySQL decimal(10,2) 增加10%

PHP 脚本在应该失败时仍能正常工作

php - 将图像上传到 MySQL,出现无数错误

python - 在嵌套列表中搜索

r - 如何使用基本 R 绑定(bind)列表中的每个第 n 个元素?

PHP/MySQL : how to search case insentitively

javascript - 比较 JavaScript 中的两个函数