2017-11-24 3 views
0

私はディレクターと映画の2つのテーブルを持っていますが、それらはdirnrによってリンクされています。MySQLアクション映画を独占的に入手

私は独占的にアクション映画を制作したディレクターをすべて選択したいと考えています。

これは私が今持っているものです。

SELECT distinct `name` 
FROM`director` 
INNER JOIN `movie` ON movie.dirnr = director.dirnr 
WHERE movie.genre = 'action' 

EDIT:これは、これまでにアクション映画を作ってきたすべての取締役を返し、私はそれが排他的アクション映画となし、他のジャンルを作った監督を返すようにしたいです。

+0

このクエリのエラーが期待どおりのデータを返すかどうかを教えてください。あなたの実際の質問が何であるかはっきりしていません –

+0

@LornaMitchellこれまでアクション映画を監督してきたすべての監督だけでなく、他のジャンルも、私は独占的にアクション映画を作ったすべての監督を募集したいです – Coenfusing

答えて

0

少なくとも1つのアクションムービーを作成した監督が表示されます。排他性をテストするには、これを行うことができます:

SELECT distinct `name` 
FROM`director` 
INNER JOIN `movie` ON movie.dirnr = director.dirnr 
WHERE movie.genre = 'action' 
AND NOT EXISTS (
    SELECT 1 
    FROM movie m 
    WHERE m.dirnr = director.dirnr 
    AND m.genre != 'action' 
) 
+0

完璧に動作します!ありがとうございました。 – Coenfusing

関連する問題