现在有个问题,有两张表,想实现TMP_A表中的列跟TMP_B表中的行相乘,如:
第一行id=1的值:constant1+constant2*a+constant3*b+constant4*c+constant5*d+constant6*e+constant*f
第二行id=2的值:constant1+constant2*a+constant3*b+constant4*c+constant5*d+constant6*e+constant*f
大家有没有好的方法,具体数据如下,
with tmp_b as(select 'a' type,.2 light,.4 moderate,.6 sever from dual union all
select 'b' type,.1 light,.2 moderate,.4 sever from dual union all
select 'c' type,.15 light,.55 moderate,.7 sever from dual union all
select 'd' type,.25 light,.3 moderate,.5 sever from dual union all
select 'e' type,.3 light,.4 moderate,.8 sever from dual union all
select 'f' type,.35 light,.5 moderate,.9 sever from dual)
select * from tmp_b;
with tmp_a as(
select 1 id,.0275655 constant1,-.09611775 constant2,.009376 constant3,.008786 constant4,.226310325 constant5,-.000294 constant from dual union all
select 2 id,.003727018 constant1,-.100667 constant2,.0138604 constant3,.0029905 constant4,.273166 constant5,-.0000929 constant from dual union all
select 3 id,-.0073838 constant1,-.15168102 constant2,.023317 constant3,-.00044 constant4,.533010243 constant5,-.00034227 constant from dual union all
select 4 id,-.00873551 constant1,-.006779 constant2,.0046666 constant3,.0124412 constant4,.627166 constant5,-.00024 constant from dual union all
select 5 id,-.0063843 constant1,-.03632205 constant2,.005907 constant3,.01061 constant4,.601081887 constant5,.00023661 constant from dual union all
select 6 id,-.0130118 constant1,-.141385 constant2,.0033054 constant3,.0067395 constant4,.637644 constant5,.000468 constant from dual)
select * from tmp_a