表1(表名):dataid        danhao       bumen        biaoshi      pinming      shuliang      guige
1         s123123      部门1        3210         a产品        12            6
2         s012395      部门2        3210         c产品        21            7
3         s145230      部门2        3210         b产品        3             1
4         3201         部门1        3210         c产品        7             75         0145         部门4        3211         a产品        48            66         s541235      部门1        3212         c产品        14            7
7         s214560      部门2        3212         a产品        6             6表2(表名):feiyongid        biaoshi      leibie       jianshu       feiyong      guishufeiyong        bumen
1         3210         类别1        6             3200         50                   部门1
2         3210         类别2        3             30           0                    3         3211         类别1        8             3341         0                    部门44         3212         类别1        3             1210         150                  部门1说明:表1和表2通过“biaoshi”关联,表2的“jianshu”由“shuliang/guige”相加得到,
      表1中的“danhao”有两种,一种是s开头,一种是纯数字;需统计出表的样板如下:(只统计“danhao”为S开头的)bumen     jianshu     feiyong
部门1     4           (2/(6-1))*(3200-50)+(2/3)*(1210-150)=1966.6667
部门2     7           (3/(6-1))*(3200-50)+30+(1/3)*(1210-150)=2273.3333

解决方案 »

  1.   

    你的表有问题吧   两个表中都有bumen  我这里依你data表作为合并列,另外看不懂你的公式都是那些列,你自己改吧SELECT SUM(列名称1*列名称2....) FROM data,feiyong WHERE data.danhao like 'S%' AND data. biaoshi=feiyong.biaoshi Group BY bumen
      

  2.   

    SELECT SUM(列名称1*列名称2....) FROM data,feiyong WHERE data.danhao like 'S%' AND data.biaoshi=feiyong.biaoshi Group BY bumen
    多打了个空格
      

  3.   

    两个部门,,有他的用处(主要是两套系统产生的结果,所以会多一个bumen,因为只要统计s开头,所以feiyong-guishufeiyong就是S开头的订单总费用了),其实就是多笔数据源合并出单,产生费用。然后我想根据多笔数据源里的量的比例,计算各自的费用,所以,重点是公式里边的。我说明一下吧:表1为数据源,部门产生订单,订单里有产品(pinming),产品有数量(shuliang),有规格(guige,就是多少数量一件)
    多笔订单合并产生费用,就产生表2,通过biaoshi关联。需要的统计表就是从各部门的“产品数量”与“产生费用的总数量”比,再乘以“总费用”产生各部门应该承担费用。当表2的“bumen”有数据是总费用=feiyong-guishufeiyong,因为“danhao”里有非s开头的,所以产生费用的总数量也要减掉非s开头的件数
    (2/(6-1))*(3200-50)+(2/3)*(1210-150)中红色部分是3210中类别1产生的费用分担,后边的是3212中产生的费用分担(3/(6-1))*(3200-50)+30+(1/3)*(1210-150)红色部分是3210中类别1中部门而的费用分担,后边的30是类别而产生的费用(b产品,计费方式不一),蓝色部分为3212中产生的费用分担