Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在sql中查找不常见的用户_Mysql_Sql - Fatal编程技术网

Mysql 在sql中查找不常见的用户

Mysql 在sql中查找不常见的用户,mysql,sql,Mysql,Sql,我有五张桌子。我想得到表1中不在表2、表3、表4和表5中的特定用户。有人能帮我吗 table1(userid,discount) table2(userid,discount) table3(userid,discount) table4(userid,discount) table5(userid,discount) 以下查询: SELECT userid FROM table1 AS t1 WHERE NOT EXISTS ( SELECT 1 FROM ( SELECT

我有五张桌子。我想得到表1中不在表2、表3、表4和表5中的特定用户。有人能帮我吗

table1(userid,discount)
table2(userid,discount)
table3(userid,discount)
table4(userid,discount)
table5(userid,discount)
以下查询:

SELECT userid
FROM table1 AS t1
WHERE NOT EXISTS (
  SELECT 1 
  FROM (
    SELECT userid
    FROM table2
    UNION 
    SELECT userid
    FROM table3
    UNION 
    SELECT userid
    FROM table4
    UNION 
    SELECT userid
    FROM table5) AS t2
  WHERE t1.userid = t2.userid)
返回任何其他表中不存在的table1的所有用户

如果您还希望表2的所有用户都不存在于任何其他表中,则可以修改上述查询,以便从表2中返回用户,并在这两个查询之间执行联合:

SELECT userid
FROM table1 AS t1
WHERE NOT EXISTS (
  SELECT 1 
  FROM (
    SELECT userid
    FROM table2
    UNION 
    SELECT userid
    FROM table3
    UNION 
    SELECT userid
    FROM table4
    UNION 
    SELECT userid
    FROM table5) AS t2
  WHERE t1.userid = t2.userid)

UNION ALL

SELECT userid
FROM table2 AS t1
WHERE NOT EXISTS (
  SELECT 1 
  FROM (
    SELECT userid
    FROM table1
    UNION 
    SELECT userid
    FROM table3
    UNION 
    SELECT userid
    FROM table4
    UNION 
    SELECT userid
    FROM table5) AS t2
  WHERE t1.userid = t2.userid)

可以很容易地扩展以上内容,以便将所有表中的用户合并到一起。但是,我必须承认,它变得相当冗长

您应该添加一些示例。您的输入和预期输出是什么?那么具体要求是什么?要生成仅存在于一个表中的用户列表?这五个表中只有1-4个存在?我想在表1中找到表2、表3、表4和表4中没有的特定用户table5@Giogros你能告诉我如何找到表1、表2和表3中不在表4和表5中的公共值吗?请帮我找到答案:@Volka好吧,这是一个不同的问题,通常不鼓励在评论中回答问题。如果你想得到答案,你可以在这里发布不同的问题。正如你所建议的,我创建了一个新问题:请帮助我找到答案: