表格1 pso三个字段分别表示序号,保险类型(1代表人生保险,2代表医疗保险),缴费基数,前两个字段为联合主键psseno  pdcode   pdrewage  1         1        1200
2         2        1000  表格2 fro  险种费率的表
pdcode   单位比例(cr)   个人比例(pr)   公务员比例(tr)   大病比(mr)
1          25%               3%               1000               6%
2          16&               5%                4%               8000
(缴费金额=4种比例分别*PSO表中的缴费基数。在计算要缴费金额时,单位比例,个人比例,公务员比例和大病比例如果大于1就为大于1的那个数直接相加,如果小于1就为那个百分数*缴费基数 )
求1. 搜索显示一个表格有4个字段:
人身保险缴费基数  人身保险缴费金额  医疗保险缴费基数  医疗保险缴费金额2.人生保险+养老保险缴费最多的人的缴费基数
(最好不要用自身连接,因为保险种类可以有很多这样就会很麻烦)

解决方案 »

  1.   

    这两个功能必须用SQL语句实现吗?感觉先用下面的SQL语句检索,再通过逻辑处理对取到的记录逐条循环,循环一次即可完成1、2两项要求,而且不受保险种类增加的限制。
    SELECT 
    pso.pdcode as 保险类型, 
    CASE  fro.cr <= 1 THEN pso.pdrewage * cr ELSE cr END AS 缴费金额1,
    CASE  fro.pr <= 1 THEN pso.pdrewage * pr ELSE pr END AS 缴费金额2,
    CASE  fro.tr <= 1 THEN pso.pdrewage * pr ELSE tr END AS 缴费金额3,
    CASE  fro.mr <= 1 THEN pso.pdrewage * pr ELSE mr END AS 缴费金额4 
    FROM pso, fro 
    WHERE pso.pdcode = fro.pdcode