假设以下简单表格
Col1
======
one
two
假设以下简单查询
Select count(*) from TABLE_A where Col1 in ('one','two','three','four')
在上面的查询中它将产生以下结果
2
现在我想找出 IN- 条件中的值是什么,而在 table_A 中不可用。
如何找出表中没有的值?
像下面的结果
three
four
以上查询仅为示例。在我的实时查询中,IN-Condition 有 1000 个值。
工作数据库:DB2
最佳答案
这是实现您期望的解决方法之一。
您可以将这些值移动到表中,而不是对 IN
条件下的值进行硬编码。如果简单地使用 LEFT JOIN
和 NULL
检查,您可以获得不匹配的值。
SELECT MR.Col1
FROM MatchingRecords MR -- here MatchingRecords table contains the IN condition values
LEFT JOIN Table_A TA ON TA.Col1 = MR.Col1
WHERE TA.Col1 IS NULL;
关于mysql - 找出表中没有的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38734644/