我必须基于单个键值从多个表中选择数据。我有一个名为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教程,以学习可以使用的基本连接类型。祝好运!