MySQL-用“ where in”子选择合并两个查询

时间:2019-06-19 19:39:20

标签: mysql union

我必须找到未在目录中列出的sku(标识符)。查询很简单

SELECT sku 
  FROM stock 
 WHERE sku NOT IN (SELECT sku FROM catalog) 

但是在餐桌销售中可能也缺少sku's

SELECT DISTINCT sku 
  FROM sale 
 WHERE sku NOT IN (SELECT sku FROM catalog) 

我想从mysql中得到一个结果,所有的skus都将丢失。 将这两个查询与Union连接起来在这里行不通。 谢谢与问候!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用UNION

SELECT sku 
FROM stock 
WHERE sku NOT IN (SELECT sku FROM catalog) 

union 

SELECT sku 
FROM sale 
WHERE sku NOT IN (SELECT sku FROM catalog) 

用于从两个查询中获得不同的SKU

select  sku  
from  (
  SELECT sku FROM stock 
  union   
  SELECT  sku  FROM sale 
) t
where sku NOT IN (SELECT sku FROM catalog) 

无论如何,第一个应该表现更好