我想在SQL中返回以下问题。
在哪部动作电影中扮演更多女性,然后是男性?
我有一个表movie_id / title / genre,一个包含cast_id / gender的表。 在这个表之间有一个带有movie_id和cast_id的链接表。
有人可以解释如何从这样的结构中提取数据吗?
到目前为止我想出了这个
SELECT titel, geslacht, genre
FROM imdb.film
INNER JOIN imdb.cast ON cast.cast_id = film.film_id
答案 0 :(得分:0)
您可以加入所涉及的三个表和group by
标题来检查条件。
SELECT f.title
FROM imdb.film f
INNER JOIN imdb.cast c ON c.cast_id=f.film_id
INNER JOIN link_table l ON l.movie_id=f.movie_id and l.cast_id=c.cast_id
WHERE f.genre = 'ACTION'
GROUP BY f.title
HAVING SUM(c.gender = 'F') > SUM(c.gender = 'M')
将查询中的link_table替换为实际的表名。