我必须基于单个键值从多个表中选择数据。我有一个名为maintable的表,将从中获取所有ID,并且我在同一数据库中还有另外10个表,这些表具有maintable.id作为外键。现在,我必须从10个表中检索数据,其中maintable.id在一个表中匹配。

我尝试过的代码是:

  $sql = select id from maintable;
  $runsql = mysql_query($sql);
  while($sqlRow = mysql_fetch_array($runsql ,MYSQL_ASSOC)) {
    for($i=1;$i<=10(This is another table count);$i++) {
      $servSql = "select * from table.$i where ref_id = ".$sqlRow['id'];
      $runServerSql = mysql_query($servSql);
      while($serverRow = mysql_fetch_array($runServSql,MYSQL_ASSOC)) {

      }
    }
  }

最佳答案

在联接中尝试这样的事情:

SELECT * FROM maintable m
INNER JOIN othertable o
ON m.id = o.id


这将使用id列上的内部联接从两个表中进行选择。您可能需要查找基本的SQL教程,以学习可以使用的基本连接类型。祝好运!

09-25 18:24
查看更多