Оставленный вопрос соединения / внешнего ключа для mysql в php - PullRequest
1 голос
/ 07 августа 2011

У меня есть таблицы очередей и запросов.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 запросы ВКЛЮЧЕНА queue.reqID = orders.reqID ORDER по рангу ASC» в строке 1

Я не могуКажется, это понять, любая помощь?

Ответы [ 2 ]

3 голосов
/ 07 августа 2011
$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.

2 голосов
/ 07 августа 2011

Объединения являются частью раздела from запроса, и поэтому должны предшествовать разделу where:

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