日期:2014-05-17  浏览次数:21093 次

求助,怎样重复利用函数返回值???
语句如下:
select     a,   b,   c,     f_1(a),   f_2(b),   (f_1(a)+f_2(b))/c     from     table1;

由于f_1(a),f_2(b)已经计算过,再进行   f_1(a)+f_2(b)总觉得是做重复工作,是否能够直接使用前面已经计算过的函数返回值?

------解决方案--------------------
嵌套咯。

select a, b, c, fa, fb, (fa + fb)/c
from (select a, b, c, f_1(a) fa, f_2(b) fb from table1);
------解决方案--------------------
利用递归原理.
------解决方案--------------------
似乎是分成两个函数快