SQL 计算总和并加入 table

SQL count sum and joining table

我 运行 提出了我的 SQL class 的问题,但没有解决方案。我的查询只需要显示男女演员数量相同的电影。

我有三个 table: (table:字段 1,字段 2):

Casting: actor_number, movie_number
Actor_List: id, name, gender
Movie_List: id, movie_name

子查询使用了一些 CASE() 技巧来有条件地增加计数(即 countif)。子查询分解语法意味着我们只执行一次查询。

with cte as (
    select m.movie_name
           , sum(case when a.gender = 'M' then 1 else 0 end) as male_tot 
           , sum(case when a.gender = 'F' then 1 else 0 end) as female_tot 
    from casting c
         join movie_list m
          on c.movie_number = m.id
         join actor_list a
          on c.actor_number = a.id
   group by m.name
    )
select cte.* 
from cte
where cte.male_tot = cte.female_tot ;