1

我需要编写一个查询来返回存在于一个 MySql 表中但不存在于另一个表中的记录。在这个例子中,我想要所有存在于wafer_log 表中但不存在于bt_log 表中的晶圆。

这是我正在使用的当前查询:

    SELECT wafer_log.wafer, bt_log.id AS blid, wafer_log.id AS wlid 
    FROM bt_log RIGHT OUTER JOIN wafer_log
    ON bt_log.waferid = wafer_log.wafer
    WHERE wafer_log.wafer IS NOT NULL AND bt_log.id IS NULL;

我的想法是从我关心的表中获取晶圆名称以及两个表的 id,并对晶圆名称进行外部连接。从那里,我想查看wafer_log 表中的wafer name 不为null 并且bt_log 中的id 为null 的所有结果。

我觉得结果看起来不太对劲。

任何帮助,将不胜感激。

4

1 回答 1

2

您不需要加入来执行此操作,假设“id”是您的主键,您可以使用子查询:

SELECT wafer_log.wafer, wafer_log.id AS wlid 
FROM wafer_log
WHERE wafer_log.id NOT IN (SELECT id FROM bt_log);
于 2013-09-10T13:35:07.203 回答