我是 sql 新手,正在尝试执行查询。
我已经创建了以下表格并且它们可以正常工作。
create table ACTOR
(
actor_name varchar(30),
gender varchar(8),
date_of_birth date,
primary key(actor_name)
);
我一直纠结于如何与 cast_memeber 表进行比较。
select movie_title as MOVIE_TITLE
最佳答案
对于条件计数,您可以使用 SUM()
和您的表达式,加入您的 CAST_MEMEBER
和 ACTOR
表使用 COUNT()
计算电影的所有成员并用表达式求和将得到一个 bool 值,因此这样做将根据您的条件给出计数
SELECT
m.movie_title,
m.release_year,
SUM(a.gender = 'female') no_of_female_members,
SUM(a.gender = 'male') no_of_male_members,
COUNT(c.actor_name) no_of_all_members
FROM
MOVIE m
LEFT JOIN CAST_MEMEBER c
ON (m.movie_title = c.movie_title AND m.release_year = c.release_year)
JOIN ACTOR a
ON (a.actor_name = c.actor_name)
GROUP BY m.movie_title,m.release_year
关于mysql - SQL 查询从两个表中选择并与第三个表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26447475/