2011-06-29 49 views
1

我有一個嵌套的mysql_query。LEFT JOIN和WHERE導致錯誤

$resultSub = mysql_query("SELECT * 
          FROM ensembles 
          WHERE en_name = $name 
         LEFT JOIN ensemble_names on ensembles.en_name = ensemble_names.en_nm_ID 
         LEFT JOIN students on ensembles.en_stu = students.s_ID 
         LEFT JOIN part_names on ensembles.en_part = part_names.p_nm_ID 
         ORDER BY $sort $orderBy"); 

查詢作品,未經WHERE子句,我認爲對於LEFT JOIN命令可以被過濾掉行罰款,但事實並非如此。

+1

你的where子句應該在連接之後。 – Jrod

回答

9

WHERE子句應放在左後加入:

$resultSub = mysql_query("SELECT * 
          FROM ensembles 
         LEFT JOIN ensemble_names on ensembles.en_name = ensemble_names.en_nm_ID 
         LEFT JOIN students on ensembles.en_stu = students.s_ID 
         LEFT JOIN part_names on ensembles.en_part = part_names.p_nm_ID 
          WHERE en_name = $name 
         ORDER BY $sort $orderBy"); 
+0

@OMG小馬該死的很快。 –

+1

我在重新格式化後複製了文本。你擊敗了我+1 –

+0

我實際上是在詳細闡述原始答案的過程中,幾乎完成了你所做的一切。給你一個Karma點。 –