0

我有几个值,由 PHP 生成。像 1, 10, 15, 17, 20。我还有一个包含多个值的表,例如:

id
1
3
10
12
15

我想写一个查询,它会给我所有的数字,这些数字在表格id列中不存在。在我的示例中,应该返回17和的值。20

4

3 回答 3

1

如果您将这些数字存储在临时表中,这样您就可以加入,例如

SELECT  a.*
FROM    temporaryTable a
        LEFT JOIN tableWithNumbers b
            ON a.ID = b.ID
WHERE   b.ID IS NULL
于 2013-01-13T12:47:43.863 回答
1

我会

SELECT id FROM table WHERE id IN (1, 10, 15, 17, 20)

这会让你得到你的集合中的那些。

然后使用一些 PHP 数组函数来获取数组的减法。

于 2013-01-13T12:58:11.577 回答
-1

您可以为此使用 IN:

SELECT id FROM table WHERE id NOT IN (1, 10, 15, 17, 20)

MySQL 文档

于 2013-01-13T12:49:07.653 回答