mysql查询以查找在这两部电影中扮演的演员
我试图展示两部电影中的演员 请帮帮我,现在还没到mysql查询以查找在这两部电影中扮演的演员,mysql,sql,Mysql,Sql,我试图展示两部电影中的演员 请帮帮我,现在还没到 SELECT actors.first_name,actors.last_name FROM actors LEFT JOIN films_actors ON actors.actor_id=films_actors.actor_id LEFT JOIN films ON films_actors.film_id=films.film_id WHERE films.title="ACADEMY DINOSAUR" AND films.
SELECT actors.first_name,actors.last_name
FROM actors
LEFT JOIN films_actors
ON actors.actor_id=films_actors.actor_id
LEFT JOIN films
ON films_actors.film_id=films.film_id
WHERE films.title="ACADEMY DINOSAUR"
AND films.title="ANACONDA CONFESSIONS"
您可以使用
HAVING COUNT(DISTINCT…)
不需要
左
连接。@lad2025,我有一个疑问,如果我们在《条件》中使用它,那么它将满足两部电影,或者如果他在其中任何一部电影中扮演,那么它将是真的?@user7441072,以满足您在两部电影中都需要扮演角色的条件。@lad2025给出正确的结果,有没有更简单的方法可用?计数(不同)
可能没有必要<代码>计数(*)
应该可以。
SELECT actors.first_name,actors.last_name
FROM actors
JOIN films_actors
ON actors.actor_id=films_actors.actor_id
JOIN films
ON films_actors.film_id=films.film_id
WHERE films.title IN ('ACADEMY DINOSAUR','ANACONDA CONFESSIONS')
GROUP BY actors.first_name,actors.last_name
HAVING COUNT(DISTINCT films.title) = 2;