我想知道每一位导演过 20 多部电影并参与过他导演的每一部电影的男导演的名字。如果他演了一部电影,但没有导演,那没关系,我仍然想要他的名字;如果他导演了任何电影但没有出演,我不再想要他了。
SELECT p.firstname,
p.lastname
FROM person p
WHERE p.gender = 'M' AND
(
SELECT COUNT(*)
FROM filmparticipation fpd
WHERE p.personid = fpd.personid AND
fpd.parttype = 'director' AND
(
SELECT COUNT(*)
FROM filmparticipation c
WHERE c.personid = fpd.personid AND
c.filmid = fpd.filmid AND
c.parttype = 'cast'
) > 0
) >= 20;
这只是我的多次尝试之一。作为一个附带问题,为什么它不起作用?我确保我正在检查正确的导演电影 ID 到演员电影 ID 等。