テーブルの結合から値を取得するために使用する、結合ステートメントを使用した選択ステートメントクエリがあります
ここに私の選択クエリがあります:
select
case when p1.Value2 is not null then p1.Value3 end as fix1,
case when p1.Value2 is not null then p2.Value3 end as fix2,
case when p1.Value2 is not null then p3.Value3 end as fix3,
case when p1.Value2 is not null then p4.Value3 end as fix4,
case when p1.Value2 is not null then p5.Value3 end as fix5,
case when p1.Value2 is not null then p6.Value3 end as fix6
from tc t
left join (select * from Parameter where paramtype='fix') as p1 on p1.Value2 = t.FIX
left join (select * from Parameter where paramtype='fix') as p2 on p2.Value2 = t.FIX1
left join (select * from Parameter where paramtype='fix') as p3 on p3.Value2 = t.FIX2
left join (select * from Parameter where paramtype='fix') as p4 on p4.Value2 = t.FIX3
left join (select * from Parameter where paramtype='fix') as p5 on p5.Value2 = t.FIX4
left join (select * from Parameter where paramtype='fix') as p6 on p6.Value2 = t.FIX5
where CUST_ACCT ='10053996'
複雑だと思ったので、コードを次のように変更します。
select
fix +' '+(select Value3 from Parameter where ParamType = 'fix' and Value2 = fix) as fix,
FIX1 +' '+(select Value3 from Parameter where ParamType = 'fix' and Value2 = FIX1) as FIX1,
FIX2 +' '+(select Value3 from Parameter where ParamType = 'fix' and Value2 = FIX2) as FIX2,
FIX3 +' '+(select Value3 from Parameter where ParamType = 'fix' and Value2 = FIX3) as FIX3,
FIX4 +' '+(select Value3 from Parameter where ParamType = 'fix' and Value2 = FIX4) as FIX4,
FIX5 +' '+(select Value3 from Parameter where ParamType = 'fix' and Value2 = FIX5) as FIX5
from tc where CUST_ACCT ='10053996'
私のコードを簡素化することは可能ですか? または、このようなことをしたい場合は、そのような選択ステートメントを作成する必要がありますか?