我有三张桌子:
ActorInfo(actorID, firstname, lastname)
CastInfo(movieID, actorID)
GenreInfo(movieID, genre)
我正在尝试编写一个 SQL 查询,该查询将返回演员的详细信息,以及他们主演的“戏剧”电影的数量,而不会重复。
所以,理想情况下,我会有类似的东西,
1 George Clooney 10
2 Brad Pitt 8
3 Matt Damon 6
所以,到目前为止我的代码如下:
SELECT actorinfo.actorID, actorinfo.firstname, actorinfo.lastname, COUNT(DISTINCT actorinfo.actorID) as total
FROM actorinfo
LEFT OUTER JOIN castinfo
ON actorinfo.actorID= castinfo.actorID
LEFT OUTER JOIN genreinfo
ON castinfo.mvID = genreinfo.mvID
WHERE genreinfo.genre = 'Drama'
GROUP BY actorinfo.actorID, actorinfo.firstname, actorinfo.lastname
ORDER BY total ASC;
但是,这只是为所有参与者返回 1 的“总计”结果。我真的在这里碰壁了,我不确定如何解决这个特殊问题。