Mam kolejkę stołów i prośby. reqID kolejki jest kluczem obcym do reqID żądań. obie tabele mają vanID

Próbuję uzyskać wszystkie rzeczy w kolejce, a także wszystkie informacje dla każdego żądania, do którego odwołuje się kolejka. To jest moje zapytanie.

$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());

To jest błąd, który otrzymuję.

1064: Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu „żądania LEFT JOIN ON queue.reqID = request.reqID ORDER by rank ASC” w wierszu 1

Nie mogę tego rozgryźć, jakaś pomoc?

1
y3di 7 sierpień 2011, 23:13

2 odpowiedzi

Najlepsza odpowiedź
$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());

Byłeś blisko. Klauzula WHERE powinna następować po LEFT JOIN.

3
Shef 7 sierpień 2011, 23:16

Sprzężenia są częścią sekcji from zapytania i jako takie muszą znajdować się przed sekcją where :

SELECT queue.*, requests.* 
FROM queue 
    LEFT JOIN requests ON queue.reqID = requests.reqID 
WHERE queue.vanID = '$vanID' 
ORDER by rank ASC
2
Pascal MARTIN 7 sierpień 2011, 23:16