我有带有连接语句的选择语句查询,我用它来从加入表中获取价值
这是我的选择查询:
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'
是否可以简化我的代码?或者如果我想做这样的事情,我应该像这样创建选择语句?