2016-04-21 51 views
1

我必须根据单个键值从多个表中选择数据。我有一个名为maintable的表,我将从中获取所有ID,并且我在另一个数据库中有另外10个表,其中maintable.id作为外键。现在我必须从一张表中的maintable.id匹配的10个表中检索数据。基于单个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)) { 

     } 
    } 
    } 
+1

绝对是你想要的不是像这样的嵌套循环。请参考mysql连接语法 – e4c5

+0

使用[Joins](http://www.tutorialspoint.com/mysql/mysql-using-joins.htm)我的朋友。 –

+0

嗨@ e4c5请你可以建议我举例,因为我是新来的 – shaan

回答

0

尝试在这样的一个连接:

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

将使用两个表中选择一个内加入 ON的id列。你可能想查阅一个基本的SQL教程来学习你可以使用的基本连接类型。祝你好运!

相关问题