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;
これは私の複数の試みの1つにすぎません。副次的な質問として、なぜそれが機能しないのですか?キャストされたmovie-idなどに正しい指示されたmovie-idをチェックしていることを確認します。