Php mysql在一个查询上进行多个连接
我在一个数据库中有4个表,我需要将四个表连接在一起,但我不能再连接两个表Php mysql在一个查询上进行多个连接,php,mysql,Php,Mysql,我在一个数据库中有4个表,我需要将四个表连接在一起,但我不能再连接两个表 $query = ' SELECT movie_title,genre_label,movie_year,director_name,movie_genre,movie_director,movie_actor FROM general LEFT JOIN genre ON movie_genre = genre_id AND general LEFT JOIN movie_directors ON mo
$query = '
SELECT
movie_title,genre_label,movie_year,director_name,movie_genre,movie_director,movie_actor
FROM
general LEFT JOIN genre ON movie_genre = genre_id AND
general LEFT JOIN movie_directors ON movie_director = director_id
WHERE
general.movie_genre = genre.genre_id AND
general.movie_director = movie_directors.director_id
ORDER BY
movie_year';
我的浏览器显示此错误:
Unknown column 'general' in 'on clause'
请帮助我,谢谢您不必在联接之间插入和,也不必重复您正在查询的表。 您的查询应如下所示:
$query = '
SELECT
movie_title,genre_label,movie_year,director_name,movie_genre,movie_director,movie_actor
FROM
general
LEFT JOIN genre ON movie_genre = genre_id
LEFT JOIN movie_directors ON movie_director = director_id
ORDER BY
movie_year';
它不起作用
SELECT movie_title,genre_label,movie_year,director_name,movie_genre,movie_director,movie_actor
FROM
general
LEFT JOIN genre ON general.movie_genre = genre.genre_id
LEFT JOIN movie_directors ON general.movie_director = movie_directors.director_id
ORDER BY
movie_year';
试试这个:
SELECT
movie_title,genre_label,movie_year,
director_name,movie_genre,movie_director,movie_actor
FROM general
LEFT JOIN genre ON general.movie_genre = genre.genre_id
LEFT JOIN movie_directors ON general.movie_director = movie_directors.director_id
ORDER BY movie_year
您的JOIN/WHERE语法不正确。在您的情况下不需要WHERE子句。此外,在SELECT和ORDER BY语句中使用表别名指定列名也是一种很好的做法
注:以上查询语句基于问题中提供的信息。如果OP在问题中添加表结构信息,则查询可能会更改,因为不清楚第二次联接应发生在哪些表上。提供表定义、一些示例数据和预期输出。这是完全错误的语法。一旦指定了联接,您不需要在WHERE子句中添加相同的条件。在您的情况下,您可以完全删除WHERE子句。@AbhikChakraborty请解释更多,我是一个新手确定查询是错误的。现在为您提供解决方案,我们需要具有列名的表结构。还有一些样本数据和你想要的结果。