[英]MS Access SQL Query unmatched rows from two tables
假設我的Table_A和Table_B具有以下行:
Table_A:
ID PART_ID KIT_ID
---------------------
1 1 340
2 12 340
3 19 340
4 30 340
5 1 348
6 19 348
7 27 348
...
Table_B:
PART_ID REQ
-------------
1 Y
12 Y
19 Y
27 Y
30 Y
...
如何在Table_C中獲得以下結果?
Table_C:
PART_ID KIT_ID
----------------
27 340
12 348
30 348
...
我已經嘗試過使用“不匹配的行”查詢向導,由於某種原因,我無法獲得與我需要的結果相似的結果。例如,客戶訂購了一個套件,每個套件包含一堆零件(有些是必需的,有些不是)。 如何找到每個套件缺少的零件?
生成套件和零件的所有組合,然后濾除不存在的組合:
select k.kit_id, p.part_id
from (select distinct kit_id from table_a) as k, -- no cross join in MS ACCESS
table_b p
where not exists (select 1
from table_a as a
where a.kit_id = k.kit_id and a.part_id = p.part_id
);
您可能需要在外部where
子句中使用條件REQ = "Y"
。 我不確定這是否重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.