2015-02-08 78 views
0

我看了一下与mysql连接有关的其他答案,对于是否正确使用它,我仍然有点困惑。MySQL Multi加入

我有一个查询,我需要在同一时间执行多个表,并不断收到我的声明不明确。

我有4个表... trecord,thours,torders和tphotos

的trecord表有它叫做竞价自己自动编号,和所有其他的表都有自己的自动编号以及出价列。 trecord表只会有一个需要一次检索的记录,就像循环表一样,但是torders和tphotos表往往不会有多条记录,这些记录会与trecord相连以始终显示公司信息。

如何汇总trecord和thours中的所有信息以及来自与投标相匹配的反馈和tphotos的所有信息?

$id = isset($_POST['bid']) ? $_POST['bid'] : isset($_GET['bid']) ? $_GET['bid'] : null; 

$sql = "SELECT * FROM torders 
INNER JOIN trecord ON torders.bid=trecord.bid 
INNER JOIN thours ON thours.bid=trecord.bid 
INNER JOIN tphotos ON tphotos.bid=trecord.bid 
FROM WHERE bid='" . mysql_real_escape_string($id) . "'"; 
+0

您的查询是否有效?如果您真的想要从每个表中获取信息,我不会看到该查询不明确。也许他们认为桌子结构的设计是模糊的。 – 2015-02-08 05:15:33

+0

Chage那些全部到RIGHT JOIN – AlienWebguy 2015-02-08 05:15:39

+0

你的代码有什么问题? (其他你有一个额外的'FROM')? – 2015-02-08 05:15:39

回答

1

如果每个表格都有'bid'列,您需要更具体地确定您正在运行where子句的哪一个列。

+0

哈哈哈...你太棒了!所需要的只是将trecord.bid添加到where子句中! – cloudseeker 2015-02-08 05:51:48

+0

谢谢。祝好运与其余。 – StephenCollins 2015-02-08 05:52:35