MS Access SQL查询来自两个表的不匹配的行

时间:2018-08-07 03:10:41

标签: sql ms-access

假设我的Table_A和Table_B具有以下行:

sound

如何在Table_C中获得以下结果?

pom

我已尝试使用“不匹配的行”查询向导,由于某种原因,无法获得任何与我需要的结果相似的结果。例如,客户订购了一个套件,每个套件包含一堆零件(有些是必需的,有些不是);如何找到每个套件缺少的零件?

1 个答案:

答案 0 :(得分:0)

生成套件和零件的所有组合,然后滤除不存在的组合:

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 
                 );

您可能需要在外部REQ = "Y"子句中使用条件where。我不确定这是否重要。