首页 > 解决方案 > 在 SQL 中查找另一个表的特定列中不存在的值

问题描述

(第一次发帖,如有垃圾请见谅)

我有两张桌子正在工作——为了这个问题,我们将使用食物搭配。

表A

A 栏:食物类型 -豌豆、牛肉、蛋糕、奶酪
B 栏:数量 - 11、9、4、6

表 B

A 栏:食物类型 -豌豆、牛肉、蛋糕、奶酪
B 栏:数量 - 11、9、4、6
C 栏:适合 -胡萝卜、奶酪、奶酪、豌豆

我需要找到表 A 中存在的值,但不是特别在表 B 的“GOES WELL WITH”列中。所以在这种情况下,它会返回牛肉。我似乎不能使用 NOT EXISTS,因为牛肉仍然出现在表 B 中(在食物类型下)。是否可以对代码进行修改,以查看特定列中是否存在值?

标签: sqlexistsnot-exists

解决方案


我想你可能会简单地使用 NOT IN 然后 -

SELECT FOOD_TYPE
FROM TABLEA
WHERE FOOD_TYPE NOT IN (SELECT DISTINCT Goes_well_with
                        FROM TABLEB)

推荐阅读