2011-08-07 24 views
0

これはおそらく非常に基本的な解決策ですが、私はそれを理解できないようです。私は 複数のIDを1つのテーブルに別のテーブルに一致させようとしています。SQL:同じテーブルに複数の一致がありますか?

構造

tt_staff (ID - name) 
2 - Lenny 
3 - Carl 

tt_run (producer1 - producer2) 
2 (i.e Lenny) 
3 (i.e Carl) 

私はというし、私に自分のIDをカールし、レニーの両方の名前を示し、単一の行を持つビューを作成したい、このようなものです。 IDがproducer1で発見されているので、以下しようとしました

は、

SELECT e.*, run.*, s.s_name FROM tt_run AS run, tt_events AS e, tt_staff AS s 
WHERE e.e_ID = run.e_ID 
AND run.e_bandproducer1 = s.s_ID 
AND run.e_bandproducer2 = s.s_ID 

これは明らかに、動作しません。私もUNIONで試してみましたが、十分に精通していませんでした(私は正しい結果を得ることができましたが、2行で)。

いつものお返事ありがとうございます。あなたは2回だけtt_staffに参加する必要があるよう

答えて

1

に見えます:

SELECT e.*, r.*, s1.s_name, s2.s_name 
    FROM tt_events e 
    INNER JOIN tt_run r ON e.e_ID = r.e_ID 
    INNER JOIN tt_staff s1 ON r.e_bandproducer1 = s1.s_ID 
    INNER JOIN tt_staff s2 ON r.e_bandproducer2 = s2.s_ID 
+0

それをしなかったこと、どうもありがとう!しかし、私はこれをもう一回(もっと単純な方法で)やったと思います。これにはちょっとしたトリックがありますか?別の提案が投稿された場​​合には、その話題を未解決のままにしておきます。 –

関連する問題