2016-09-05 16 views
0

私は2つのテーブルを持っています。最初のテーブルは、idが複数のカラムに格納され、その値は他のテーブルに格納されます。私は私の1番目のテーブルの構造を持っているが、2番目のテーブルの値を返すクエリが必要です。複数のテーブルを含む私のSQLクエリ

 Uniqueid song_1 song_2 song_3 song_4 song_5 
      1  2  4  5  6  8 

表B

    song_id song_name 
        1   abcd 
        2   def 
        3   efg 
        4   ghi 
        5   abdal 
        6   nsadln 
        7   knwldn 
        8   jdkabdb 

は私が表Aからデータを取得したいが、より具体的にはのは、私はこのようなテーブルがあるとしましょうそれはのようになります:

希望の結果:

 Uniqueid song_1 song_2 song_3 song_4 song_5 
      1  def  ghi abdal  nsadln jdkabdb 

私はオブジェクトを作成したり作成したりしていますが、これまで運がありませんでした。私を助けてください。

+0

Nooooooooooooo。スキーマを正規化する – Strawberry

答えて

1

ただ、左の束を使用してあなたの答えを取得する加入:

SELECT 
    a.UniqueId 
    ,s1.song_name as song_1 
    ,s2.song_name as song_2 
    ,s3.song_name as song_3 
    ,s4.song_name as song_4 
    ,s5.song_name as song_5 
FROM 
    TableA a 
    LEFT JOIN TableB s1 
    ON a.song_1 = s1.song_id 
    LEFT JOIN TableB s2 
    ON a.song_2 = s2.song_id 
    LEFT JOIN TableB s3 
    ON a.song_3 = s3.song_id 
    LEFT JOIN TableB s4 
    ON a.song_4 = s4.song_id 
    LEFT JOIN TableB s5 
    ON a.song_5 = s5.song_id 
+0

Worked !!サポートありがとうございました。知っていることは、coloumnの名前を変更するために使用することができます知っている。 –

+0

あなたはエイリアスを置くことができるので、あなたは実際に置く必要はありませんが、私はあなたに少し明確な意図であると思っていました。どういたしまして。 – Matt

+0

再度お返事ありがとうございます。** a.Unique_id、song_nameとしてb_name、song_2としてc_name、song_3としてd_name、song_4としてe_name、song_5としてf_nameを選択してください。 b.song_id = a.song_1、c.song_id = a.song_2、およびd.song_id = a.song_3からのsong_6としての.sub_nameを、テーブルA、テーブルB、テーブルB、テーブルB、テーブルB、テーブルB、テーブルB、 e.song_id = a.song_4、f.song_id = a.song_5、g.song_id = a.song_6 ** –

関連する問題