繁体   English   中英

SQL INNER JOIN来自同一表的两个值数组

[英]SQL INNER JOIN two arrays of values from the same table

我有一个简化的查询,我只需要获取两个数组的交集即可。 当有一个正交点时,我会得到预期的结果。 但是,如果没有结果,我将从整个表中返回所有行,而不是预期的零行。

这是一个查询,我按预期返回了一行:

SELECT ID FROM table_name WHERE ID IN (7188,2442,10350) AND ID IN (10350,6936)

如预期的那样,它将返回ID为10350的一行。

但是,如果我尝试此查询:

SELECT ID FROM table_name WHERE ID IN (7188,2442) AND ID IN (10350,6936)

它返回整个表,而不是零行。

显然,我的语法不正确,但是我不知道如何编写适当的查询来查找两个数组的交集。 请问如何正确地写出这样的路口? 请注意,这只是一个表(而不是来自多个表的INNER JOIN)。 我必须使用多个数组作为要比较的集合。

我已经搜索了很长时间的SO和Google,但似乎什么都没有。 似乎应该对此有一个简单的答案。

我正在运行此查询,并最终获得空结果。 但是随后我将结果立即发送到WordPress函数,如果您将空数组作为$ args中的值之一调用,该函数会返回所有行。

当我看到您的评论说该发现没有被复制时,我意识到我需要进一步隔离问题。 因此,这些评论帮助我解决了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM