以下是我获取演员凯文布鲁姆主演的所有电影类别列表的选择,旁边是由凯文主演的该类别的电影数量。
onDidFocus()
我还希望这个列表包含Kevin没有任何电影的所有类别。我尝试使用不同类型的连接语句,但没有运气。任何人都可以帮助我吗?
答案 0 :(得分:0)
使用left join
s
SELECT category.name, count(*) as kevinCount
FROM category
LEFT JOIN film_category ON film_category.category_id = category.category_id
LEFT JOIN film ON film.film_id = film_category.film_id
LEFT JOIN film_actor ON film_actor.film_id = film.film_id
LEFT JOIN actor ON actor.actor_id = film_actor.actor_id
AND actor.first_name = 'KEVIN'
AND actor.last_name = 'BLOOM'
GROUP BY category.name;
答案 1 :(得分:0)
A left join
解决了保留所有类别的问题。您还需要计算正确的字段:
SELECT c.name, count(a.actor_id) as kevinCount
FROM category c LEFT JOIN
film_category fc
ON fc.category_id = c.category_id LEFT JOIN
film_actor fa
ON fa.film_id = fc.film_id LEFT JOIN
actor a
ON a.actor_id = fa.actor_id AND a.first_name = 'KEVIN' AND a.last_name = 'BLOOM'
GROUP BY c.name;
注意:
film
。必填列位于film_category
和film_actor
。