!!!结构调优,请高手指点,
1.
表:TABLE1
clm1 clm2 clm3 clum4 balance
------------------------------
A B C D 100.00
现在有如上一组数据,现在要根据字段clm1,clm2,clm3,clm4的不同组合,返回不同的比例数据,得到数据如下。
clm1 clm2 clm3 clum4 balance1 balance2 balance3 balance4
------------------------------
A B C D 100.00*10% 100.00*30% 100.00*70% 100.00*50%
2.
我写了个FUNCTION FUNC_A用于根据clm1 clm2 clm3 clum4的不通过组合,返回比例10%,30%,70%,50%
SQL如下:
select
clm1,
clm2,
clm3,
clum4,
balance*FUNC_A(clm1,clm2,clm3,clum4,1) balance1,
balance*FUNC_A(clm1,clm2,clm3,clum4,2) balance2,
balance*FUNC_A(clm1,clm2,clm3,clum4,3) balance3,
balance*FUNC_A(clm1,clm2,clm3,clum4,4) balance4
FROM TABLE1
此处使用了4次FUNCIION,能否只使用1次?,
另,FUNCITON内部处理较多,不能使用CASE WHEN 方法解决。请大家帮忙看看。