FUNCTION:
在function中,大部分业务相对复杂,查出的字段不想表中直接取出那么单一,某些字段要经过几个字段的运算才能获得,这个给分组带来了很大的难题。因为某些字段需要输出,但是却影响分组,这时候可以有一个迂回的办法。
1. select * from table(F_ClaimState('2010-10-01','2011-11-01',null)) 直接获取表函数
在这里可以转移下关注点,通常我们取得的值在function 中已经定义好了,但这时候可以在function中不分组,等到用到的时候在去处理。
比如 distinct
select distinct v_orgcode,v_orgname,v_orgcode1,v_orgname1,v_prodcode,
v_prodname,v_solvetireno,v_claimqty,v_claimratio,v_count,v_zglp,v_lpbl
from table(F_ClaimState('2010-10-01','2011-11-01',null))
在取出的时候在分组,可以有效解决function中复杂函数 分组难得问题。通过转换注意力,从另一个角度去思考,也能很好的解决问题。
在此小记一下。