查询以获取基于连接表列数组的记录

时间:2016-11-03 20:52:12

标签: mysql sql

我有一个查询,其结果是$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

1 个答案:

答案 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