sql - 如何检索不属于表的值

时间:2015-07-23 13:50:44

标签: mysql sql

所以基本上它给了我一个大约300个值(数字)的列表。 我需要修改所有这些参数。 我做了一个基本的查询(下面的例子),我只发现了这300个给我的270。    select count(*) from table where field in('1','2','3','4','5','6');

我的问题是,我怎样才能看到桌子上没有哪些值(在这种情况下是30个值)?

这是一个实时系统,所以我不应该在那里创建或改变。<​​/ p>

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以添加另一个包含您的集合的表格。我们将其命名为 set_table ,其中一列名为 set_key

将您的套装插入该表格;现在看起来像这样:

table-cell

现在试试这个

set_key
----
1
2
...

这应该会为您提供设置中但不在表格中的键。

示例:

你的套装是(1,2,42)

您的表包含 1 2

的值

子选择SELECT `set_key` FROM `set_table` WHERE `set_key` not in (select value from your_other_table where 1); 将为您提供 1 2 。整个查询现在看起来像这样:select value from your_other_table set_key SELECT set_table FROM set_key WHERE这将给你( 42 )as结果

答案 1 :(得分:0)

除了300之外,桌子上还有其他记录吗?如果没有,select count(*) from table where field not in('1','2','3','4','5','6');