嗬嗬,容易的吧。
给你一个构思。
1.表A和表C做一次完全外连接,抽取表A的值,和表C的任意的一段。条件,就是两个区号。
这样的结果选出来,假如表C里面不存在的话,表C的字段是NULL(或者可以加一个FLG字段,可以用NVL2函数.比如null的情况下,换成0,不是的话,换成1)
select a.name,a.plan,a.time,nvl2(c.OriginPhoneAreaCode,0,1) flg 
from a,c
where.....2.上面的结果和B连接,表C的字段是NULL的话,就用长途价格,不是的话,就用本地价格。出于方便的考虑,总共的费用,就是
时间 * (本地的话(不是NULL) * 本地价格 +  长途的话(NULL) * 长途价格)
time * (flg * local + (1-flg) * longdistance)
把不是NULL情况的值换成1,NULL情况下的值换成0。基本上就是这样子了.自己修改一下吧.不是很复杂的问题,嗬嗬,多思考一下就会有的.