プロが教えるわが家の防犯対策術!

SQLiteの課題です。
Movieデータベースについて、次のようなデータを得るSQLを完成しなさい。
Sandra Bullockと共演したことのある俳優の名前を表示しなさい。
ただし、複数回共演した場合があるので名前に重複が無いようにし(distinct)、またSandra Bullock自身は除外すること。
ヒント:副問い合わせを利用すると比較的簡単に解ける。
まずはSandra Bullockが出演した映画のidを調べてみよ(このSQLにも結合が必要で、これを副問合せとして利用する)。
その一連のidに出演した俳優のidはcasting表で参照可能であり、actor表との結合で名前が判明する。

これについて下記のようにプログラムを作ってみました。
select distinct(a1.name) from actor a1
join casting c1 on (c1.actorid=a1.id)
join casting c2 on (c1.movieid=c2.movieid)
join actor a2 on (c2.actorid=a2.id
and a2.name='Sandra Bullock')
where a1.id<>a2.id;

しかし、「SQL実行中にエラーが発生しました 実行時間が2秒を超えました」というエラーメッセージが出ました。どう修正すればよいか、どなたかご教授ください。

A 回答 (1件)

訂正は可能ですけど。



まず、そのSQLを日本語で説明できる?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!