三个表:A.业务员雇员ID,雇员名
1      张
2      李
B.订单订单ID,雇员ID
1       1
2       2
C.订单明细订单明细ID 订单ID,数量,单价 产品ID
1          1      10   10   1
2          1      15   15   2
3          2      20   10   1
3          2      30   15   2
我现在想得出这样的结果:
业务员名 订单总数 订单总金额
 张      1        10*10+15*15
 李      1        20*10+30*15
 

解决方案 »

  1.   

    用临时表实现吧,先统计业务员订单金额总额,再统计业务员订单数,然后再合成统计表:
    select a.雇员名,sum(c.数量*c.单价) 订单总金额 
    into ##temp1
    from 业务员 a,订单 b,订单明细 c
    where (c.订单ID=b.订单ID) and(b.雇员ID=a.雇员ID)select a.雇员名,sum(*) 订单总数
    into ##temp2
    from 业务员 a,订单 b
    where b.雇员ID=a.雇员IDselect a.雇员名,b.订单总数,a.订单总金额
    from ##temp1 a,##temp2 b
    where a.雇员名=b.雇员名
      

  2.   

    更正,忘了group by:
    select a.雇员名,sum(c.数量*c.单价) 订单总金额 
    into ##temp1
    from 业务员 a,订单 b,订单明细 c
    where (c.订单ID=b.订单ID) and(b.雇员ID=a.雇员ID)
    group by a.雇员名select a.雇员名,sum(*) 订单总数
    into ##temp2
    from 业务员 a,订单 b
    where b.雇员ID=a.雇员ID
    group by a.雇员名select a.雇员名,b.订单总数,a.订单总金额
    from ##temp1 a,##temp2 b
    where a.雇员名=b.雇员名