左连接/外键问题mysql在php


Left join/foreign key question for mysql in php

我有表队列和请求。队列的reqID是请求的reqID的外键。两个表都有vanID

我试图得到队列中的所有东西,以及队列引用的每个请求的所有信息。这是我的查询。

$sql = mysql_query("SELECT queue.*, requests.* 
                      FROM queue 
                     WHERE queue.vanID = '$vanID' 
                 LEFT JOIN requests ON queue.reqID = requests.reqID 
                  ORDER BY rank ASC") or die(mysql_error());

这是我得到的错误。

1064:你的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在"LEFT JOIN requests ON queue"附近使用的正确语法。requid =请求。

我似乎想不明白,你能帮我吗?

$sql = mysql_query("SELECT queue.*, requests.* FROM queue LEFT JOIN requests ON queue.reqID = requests.reqID WHERE queue.vanID = '$vanID' ORDER by rank ASC") or die(mysql_error());

你很接近了。WHERE条款应在LEFT JOIN条款之后。

连接是查询的from部分的一部分,因此必须出现在where部分之前:

SELECT queue.*, requests.* 
FROM queue 
    LEFT JOIN requests ON queue.reqID = requests.reqID 
WHERE queue.vanID = '$vanID' 
ORDER by rank ASC