查找不匹配的记录mysql

查找不匹配的记录mysql,mysql,Mysql,我有一个表Orders,其中包含OrderId和OrderName列 OrderId | OrderName ------------------------ 1 | food ------------------------- 2 | milk ---------------------- 3 | veg ---------------------- 4 | banana ---

我有一个表Orders,其中包含OrderId和OrderName列

OrderId  |    OrderName
------------------------
  1      |          food
-------------------------
  2      |          milk
----------------------
  3      |     veg
----------------------
  4      |     banana
------------------------
我想将订单id与几个随机订单id(如3,5,6,2,1)匹配。我只需要与5,6不匹配的订单id。请帮助我进行查询


谢谢。

因为您不想获取订单ID 5和6,所以您可以通过下面的查询排除这些订单-

SELECT * 
FROM Orders 
WHERE OrderID NOT IN(5,6);
根据用户需求更新:

    SELECT a.myid as OrderId FROM 
    (
SELECT a.m*10000+b.n*1000+c.p*100+d.q*10+e.r AS  myid FROM 
(SELECT 0 m UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) a
JOIN 
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) b 
JOIN 
(SELECT 0 p UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) c 
JOIN 
(SELECT 0 q UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) d 
JOIN 
(SELECT 0 r UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) e 
ORDER BY myid
    ) a 
    LEFT JOIN orders b ON a.myid=b.orderid 
    WHERE a.myid IN (1,2,3,11,12,6) AND b.orderid IS NULL;
只需将您的订单列表放入a.myid()并执行上面的查询


此外,如果您自己的订单更多,我们可以相应地修改查询。

因为您不想获取订单ID 5和6,所以您可以通过下面的查询排除这些订单-

SELECT * 
FROM Orders 
WHERE OrderID NOT IN(5,6);
根据用户需求更新:

    SELECT a.myid as OrderId FROM 
    (
SELECT a.m*10000+b.n*1000+c.p*100+d.q*10+e.r AS  myid FROM 
(SELECT 0 m UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) a
JOIN 
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) b 
JOIN 
(SELECT 0 p UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) c 
JOIN 
(SELECT 0 q UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) d 
JOIN 
(SELECT 0 r UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) e 
ORDER BY myid
    ) a 
    LEFT JOIN orders b ON a.myid=b.orderid 
    WHERE a.myid IN (1,2,3,11,12,6) AND b.orderid IS NULL;
只需将您的订单列表放入a.myid()并执行上面的查询


此外,如果您自己的订单数量更多,我们可以相应地修改查询。

我只需要5个和6个。整个想法是获取表中没有的订单ID。请检查更新的查询,如果您面临任何问题,请让我知道。嘿,这对我来说很有效,但假设我有1000个订单ID,你们有更好的解决方案吗?我已经更新了查询,它可以处理高达99999个订单,就像你们可以增加限制一样。感谢你们的努力,所以基本上这是非常具体的整数。有可能使它对其他变量通用吗?我只需要5,和6.整个想法是获取表中没有的订单ID。请检查更新的查询,如果您面临任何问题,请让我知道。嘿,这对我来说很有用,但假设我有1000个订单ID,您对此有更好的解决方案吗?我已经更新了查询,它可以处理多达99999个订单,就像您可以增加限制一样。感谢您的努力,所以基本上这是非常特定于整数的。是否有可能将其用于其他变量?我有点困惑,您想要什么结果?我有一组特定的订单ID(假设有人给了我一些随机订单ID,他/她希望我添加表中不存在的订单ID)。现在我想知道数据库中不存在的仅匹配订单ID。有意义吗?@user3209114…是否“说有人给了我一些随机订单ID,他/她希望我添加表中不存在的订单ID”这意味着您需要将“Orders”表的“OrderId”与另一个表数据进行比较。我是否正确?我有点困惑,您想要什么结果?我有一组特定的订单ID(假设有人给了我一些随机订单ID,他/她希望我添加表中没有的订单ID)。现在我想知道数据库中不存在的仅匹配订单ID。有意义吗?@user3209114…是否“说有人给了我一些随机订单ID,他/她希望我添加表中不存在的订单ID”意味着您需要将“订单”表的“订单ID”与另一个表数据进行比较。我是否正确??