LEFT JOIN和WHERE导致错误


LEFT JOIN and WHERE causing error

我有一个嵌套的mysql_query。

$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子句的情况下运行良好,我认为WHERE子句可能会过滤出LEFT JOIN命令的行,但事实并非如此。

WHERE子句应该放在LEFT JOIN:之后

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

好吧,你把WHERE子句放错地方了。

阅读文档。