我需要运行一个查询来查看3个链接表上的内容:
表a=我们必须提取的数据的容器
表b=父表,其中包含与表a和c相关的ID
表c=包含待满足条件数据的表
然后:b->b.id->on a.bid和b.bid
我试着做出这样的选择:
SELECT field_a
FROM a
WHERE field_b IN (SELECT b.id FROM b INNER JOIN c ON b.id = 1 WHERE c.aid = 1)
查询:
(SELECT b.id FROM b INNER JOIN c ON b.id = 1 WHERE c.aid = 1)
返回此结果:
Array ([0] => Array ([id] => 1))
因为我不能执行
"SELECT field_a FROM a WHERE field_b IN (SELECT ...)"
如果我试着
"SELECT field_a FROM a WHERE field_b IN (1)"
查询可以工作,但我需要先用select提取它
1条答案
按热度按时间kadbb4591#
这应该等同于您的查询:
但是这个问题:
或
正如你所写的,这是错误的。当它运行并给出正确的结果时
ON
子句不正确-它与JOIN
. 你可能想用另一个EXISTS
在这里,但我很不确定你想要达到什么目的。。。