2016-07-02 4 views
0

データを取得しようとしているビューと2つのテーブルがあります。明るい色のレポートを作成するにはColorColor0ID、LightColor1IDなどの列にdbo.LightColorのColorNameを表示します。SQLテーブルの結合とレポートのルックアップテーブルデータの表示

今すぐselectステートメントは1,2つのテーブルからデータを取り込みます、3,4,5,6、etc ...テーブルLightColorの参照1 =白、2 =青、3 =ピンクなど...数値ではなく実際の色名が必要です。

ここ

はサンプルです:

SELECT  
    VCT.CallInfoID 
    ,DLB.LightBehaviorID 
    ,VCT.Name 
    ,VCT.Abbreviation 
    ,VCT.Description 
    ,DLB.LightColor0ID 
    ,DLB.LightColor1ID 
    ,DLB.LightColor2ID 
    ,DLB.LightColor3ID 
    ,DLB.LightColor4ID 
    ,DLB.LightColor5ID 
    ,DLB.LightColor6ID 
    ,DLB.LightColor7ID 
FROM V_CallInfo VCT JOIN 
    LightBehavior DLB 
    ON VCT.LightBehaviorID = DLB.LightBehaviorID 
+0

質問を編集し、サンプルデータと希望する結果を提供してください。 –

答えて

0

私が正しく理解していた場合は、LightColorテーブルにjoinに必要な複数回、表示したい各nameについて1:

SELECT  
    VCT.CallInfoID 
    ,DLB.LightBehaviorID 
    ,VCT.Name 
    ,VCT.Abbreviation 
    ,VCT.Description 
    ,LC0.ColorName as Color0 
    ,LC1.ColorName as Color1 
    ,LC2.ColorName as Color2 
    ,LC3.ColorName as Color3 
    ,LC4.ColorName as Color4 
    ,LC5.ColorName as Color5 
    ,LC6.ColorName as Color6 
    ,LC7.ColorName as Color7 
FROM V_CallInfo VCT 
    JOIN LightBehavior DLB ON VCT.LightBehaviorID = DLB.LightBehaviorID 
    JOIN LightColor LC0 ON DLB.LightColor0ID = LC0.ColorID 
    JOIN LightColor LC1 ON DLB.LightColor1ID = LC1.ColorID 
    ... 
    JOIN LightColor LC7 ON DLB.LightColor7ID = LC7.ColorID 

null値のライトがある場合は、代わりにouter joinsを使用する必要があります。

LEFT JOIN LightColor...

関連する問題