如何通过许多ID从数据库获取行

时间:2019-04-04 05:27:01

标签: php mysql pdo

我在一个表中有一组出价ID,我必须通过这些ID从bids表中获取出价。是否可以通过一个查询获取它们而无需对数据库进行很多查询或使用

进行超长查询
WHERE ... 
  AND ... 
  AND ...
   -- etc

使用PDO ???和“数据库中的视图”也不是一种选择

2 个答案:

答案 0 :(得分:1)

您可能需要类似的东西:

SELECT b.*
FROM bids b
WHERE id IN (SELECT bid_id FROM table1);

或者也许:

SELECT b.*
FROM bids b
WHERE EXISTS (SELECT 1 FROM table1 t1 WHERE t1.bid_id = b.id);

也就是说,如果可以的话,理想情况下,您应该在MySQL中处理此问题。将出价ID数组从数据库中带出并导入PHP后,您将需要做更多的工作来找到匹配项。

答案 1 :(得分:1)

您将两个表(它们的第一个表称为first_table,因为您未指定其名称)联接到它们的公共ID,这将获取ID存在的所有结果在两个表中。

相应地调整列名和表名。

SELECT b.*
FROM first_table a
JOIN bids b
  ON b.id = a.id