我想在数据库中有两个表来比较。一个是名为stock的库存清单,另一个是被称为商品的商品清单。我想列出从未订购的库存表中的所有库存(所以我基本上想要检查库存但不在物品中的任何物品)。我有一些困惑,因为股票包含两个键,即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
答案 0 :(得分:1)
使用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
答案 1 :(得分:1)
试试这个
select stock_num ,manu_code from stock
except
select stock_num,manu_code from items
你可以得到哪些不在物品表
中参考: Except