mysql - SQL 查询从两个表中选择并与第三个表进行比较

标签 mysql sql oracle

我是 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_MEMEBERACTOR 表使用 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/

相关文章:

c# - 适用于 32 位和 64 位的 ODP.NET

java - Mybatis中的foreach是硬解析还是软解析?

php - MySQLi - 当您有超过 15 个 '?' 和 sisisissssisisiss 的查询时,您如何跟踪?

mysql - 返回预订日期和时间即将到期的 2 小时内的所有记录

mysql - SQL 选择前 n% 行

sql - Postgresql 选择一系列由给定间隔隔开的记录

mysql - 生成的协议(protocol)文件创建目标源时出现错误

mysql - 如何在mysql中创建包含3个表的嵌套查询

MYSQL:如何在同一查询中联接两个表,两次引用同一个表

sql - 检查字符串的约束以仅包含数字。 (Oracle SQL)