SQL - 需要返回不在一个表中的产品

时间:2017-04-27 17:23:55

标签: sql

我的查询需要返回非来源的产品。所有产品都列在清单表中,但只有与其关联的供应商的产品在vendor_item表中。我试过以下声明只是为了找回“没有找到数据”

SELECT i.item_name "Products Not Sourced", vi.item_num "Item Number"
FROM inventory i RIGHT OUTER JOIN vendor_item vi ON i.item_num=vi.item_num
WHERE vi.item_num IS NULL

逻辑模型全部基于: -

enter image description here]

2 个答案:

答案 0 :(得分:3)

尝试使用该表顺序的left join而不是right join

select 
   i.item_name "Products Not Sourced"
 , vi.item_num "Item Number"
from mnathan3_SID_inventory i
  left join mnathan3_SID_vendor_item vi 
    on i.item_num = vi.item_num
where vi.item_num is null

否则颠倒表的顺序:

select 
   i.item_name "Products Not Sourced"
 , vi.item_num "Item Number"
from mnathan3_SID_vendor_item vi
  right join mnathan3_SID_inventory i
    on i.item_num = vi.item_num
where vi.item_num is null

答案 1 :(得分:-1)

希望你应该使用正常的连接。

左右外部联接排除了表格中的一些内容。