繁体   English   中英

列出一个表中不在另一个表中的所有项目

[英]list all items from one table that are not in another

我要比较的数据库中有两个表。 一个是称为库存的库存清单,另一个是称为物料的已订购物料清单。 我想从库存表中列出从未订购的所有库存(因此我基本上想检查是否有库存但没有库存的物品)。 我有些困惑,因为库存包含两个键,即stock_num和manu_code(制造商代码)。 以下是我目前为止所拥有的,我希望它们接近或至少朝着正确的方向前进。 它当前返回一个没有错误的空列表。

select stock.stock_num, stock.manu_code, stock.description
from stock
        join items 
                on stock.stock_num = items.stock_num
                and stock.manu_code = items.manu_code
where items.stock_num and items.manu_code is null

使用LEFT OUTER JOIN

select stock.stock_num, stock.manu_code, stock.description
from stock
left outer join items 
  on stock.stock_num = items.stock_num
  and stock.manu_code = items.manu_code
where items.stock_num is null and items.manu_code is null

尝试这个

select stock_num ,manu_code from  stock
except 
select stock_num,manu_code from items

您可以获得项目表中未包含的内容

参考: 除外

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM