gpt4 book ai didi

php - 有没有办法只检索 IN(或 NOT IN)子句中与表中记录不匹配的值?

转载 作者:行者123 更新时间:2023-11-29 00:52:13 25 4
gpt4 key购买 nike

这可能是个奇怪的问题。目前,我有一张表,里面有一堆数据。我正在使用 PHP 动态创建 IN 子句。

SELECT * FROM table
WHERE field IN ('str1', 'str2', [...])

假设没有与“str1”或“str2”匹配的记录,有没有办法检索“str1”和“str2”?

最佳答案

SELECT dmy.id
FROM (
SELECT 'str1' as id
UNION ALL
SELECT 'str2'
UNION ALL
.....
) dmy
LEFT JOIN some_table ON some_table.field = dmy.id
WHERE some_table.field IS NULL

根据特殊要求,这里有一个解释:

派生表(内部选择)只是创建一个包含所有所需值的“虚拟”表。然后这个虚拟表被外部连接到真实的表。任何在外部连接表 (some_table) 中没有值 (NULL) 的东西都不存在于虚拟“表”的值列表中。

要查看派生表的效果,只需在没有连接的情况下单独运行它:

SELECT dmy.id
FROM (
SELECT 'str1' as id
UNION ALL
SELECT 'str2'
UNION ALL
.....
) dmy

关于php - 有没有办法只检索 IN(或 NOT IN)子句中与表中记录不匹配的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7967398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com