我有一个查询,其结果是$a=[1, 3, 5]
我需要另一个查询,它会从table1返回所有b值都在$a=[1,3, 5]
中的记录,因此此示例的结果为table1.id=1, 2
我可以用查询实现这个,或者我必须使用像array_diff()这样的php代码来检查b列和$ a之间的区别吗?
**table1**
id
-----------
1 ...
2 ...
3 ...
**table 2**
table1_id b
------------
1 1
1 3
2 1
3 1
3 4
4 1
4 3
4 5
4 4
答案 0 :(得分:1)
如果我理解正确的话:
SELECT * FROM table2 WHERE table2.b IN (SELECT id FROM table1 WHERE YourCondition)
如果要连接多个表,例如匹配id,请使用:
Select * from table1 inner join table2 on table1.id=table2.table1_id