Mysql SQL-ED CHASE拍摄的各类电影的数量

Mysql SQL-ED CHASE拍摄的各类电影的数量,mysql,sql,Mysql,Sql,我试图返回一个包含category.name的表,以及ED CHASE拍摄的电影中属于该类别的电影的数量。查询应该返回每个类别,即使ED CHASE没有拍过该类别的电影 这是模式: 到目前为止,我所拥有的只是一种选择所有类别名称的方法。不过,我还没能以任何方式将此事与ED CHASE联系起来 SELECT category.name FROM film_category INNER JOIN category ON film_category.category_id = category.ca

我试图返回一个包含
category.name
的表,以及ED CHASE拍摄的电影中属于该类别的电影的数量。查询应该返回每个类别,即使ED CHASE没有拍过该类别的电影

这是模式:

到目前为止,我所拥有的只是一种选择所有类别名称的方法。不过,我还没能以任何方式将此事与ED CHASE联系起来

SELECT category.name
FROM film_category
INNER JOIN category ON film_category.category_id = category.category_id,
我曾尝试将这些结果与
film\u actor
结合起来,但在尝试这样做时,我不断遇到语法错误

SELECT category.name
FROM film_category
INNER JOIN category ON film_category.category_id = category.category_id,
INNER JOIN film_actor ON film_category.film_id = film_actor.film_id
试试这个:

SELECT c.category_id, c.name, COUNT(a.actor_id)
FROM category AS c
LEFT JOIN film_category AS fc ON c.category_id = fc.category_id
LEFT JOIN film AS f ON fc.film_id = f.film_id
LEFT JOIN film_actor AS fa ON f.film_id = fa.film_id 
LEFT JOIN actor AS a ON fa.actor_id = a.actor_id AND 
                        a.first_name = 'ED' AND a.last_name = 'CHASE'
GROUP BY c.category_id, c.name
查询将为每个类别返回一条记录,即使该类别没有与之关联的影片。如果您只需要至少有一个相关电影的类别,您可以将其更改,并使用
内部联接
电影类别