请您帮助!

wisdomsoft 2009-12-24 10:13:10
A业务表(帐号,客户号,金额)
b业务表(帐号,客户号,金额)
c业务表(帐号,客户号,金额)
d业务表(帐号,客户号,金额)
员工客户关系表(员工编号,客户号)
员工信息表(员工编号,员工姓名,部门编号,部门名称)
我想用上述表中的数据汇总到业绩表中!
业绩表(员工编号,部门编号,部门名称,A业务汇总,A业务笔数,B业务汇总,B业务笔数,c业务汇总,c业务笔数,d业务汇总,d业务笔数)
谢谢,祝大家节日快乐!
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 wisdomsoft 的回复:]
A业务表(帐号,客户号,金额)
b业务表(帐号,客户号,金额)
c业务表(帐号,客户号,金额)
d业务表(帐号,客户号,金额)
员工客户关系表(员工编号,客户号)
员工信息表(员工编号,员工姓名,部门编号,部门名称)
我想用上述表中的数据汇总到业绩表中!
业绩表(员工编号,部门编号,部门名称,A业务汇总,A业务笔数,B业务汇总,B业务笔数,c业务汇总,c业务笔数,d业务汇总,d业务笔数)
谢谢,祝大家节日快乐!
[/Quote]
...
最好给出完整的表结构,测试数据,计算方法和正确结果.


发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
--小F-- 2009-12-24
  • 打赏
  • 举报
回复
select
f.工编号,f.部门编号,f.部门名称,
sum(a.金额) as A业务汇总,
count(a.客户号) as A业务笔数,
sum(b.金额) as B业务汇总,
count(b.客户号) as B业务笔数,
sum(c.金额) as C业务汇总,
count(c.客户号) as C业务笔数,
sum(d.金额) as D业务汇总,
count(d.客户号) as D业务笔数
from
A业务表 a,B业务表 b,C业务表 c, D业务表 d,员工客户关系表 e,员工信息表 f
where
a.客户号=e.客户号 and b.客户号=e.客户号 and c.客户号=e.客户号 and d.客户号=e.客户号 and e.员工编号=f.员工编号
group by
f.工编号,f.部门编号,f.部门名称

aimee_99 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 aimee_99 的回复:]
select 员工编号,部门编号,sum(c.金额),count(c.金额),.....
from 员工信息表 a
left join 员工客户关系表 b on a.员工编号 = b.员工编号
left join A业务表 c on b.客户号 = c.客户号
left join b业务表 d on b.客户号 = d.客户号
left join c业务表 e on b.客户号 = e.客户号
left join d业务表 f on b.客户号 = f.客户号

[/Quote]
group by 员工编号,部门编号
ACMAIN_CHM 2009-12-24
  • 打赏
  • 举报
回复
select e.员工编号,e.部门编号,e.部门名称,
a.s as A业务汇总,a.cnt as A业务笔数,
b.s as B业务汇总,b.cnt as B业务笔数,
c.s as c业务汇总,c.cnt as c业务笔数,
d.s as d业务汇总,d.cnt as d业务笔数
from 员工信息表 e
left join (select 员工编号,sum(金额) as s,count(*) as cnt from A业务表 inner join 员工客户关系表 on A业务表.客户号=员工客户关系表.客户号 group by 员工编号) a on e.员工编号=a.员工编号
left join (select 员工编号,sum(金额) as s,count(*) as cnt from b业务表 inner join 员工客户关系表 on b业务表.客户号=员工客户关系表.客户号 group by 员工编号) b on e.员工编号=b.员工编号
left join (select 员工编号,sum(金额) as s,count(*) as cnt from c业务表 inner join 员工客户关系表 on c业务表.客户号=员工客户关系表.客户号 group by 员工编号) c on e.员工编号=c.员工编号
left join (select 员工编号,sum(金额) as s,count(*) as cnt from d业务表 inner join 员工客户关系表 on d业务表.客户号=员工客户关系表.客户号 group by 员工编号) d on e.员工编号=d.员工编号
aimee_99 2009-12-24
  • 打赏
  • 举报
回复
select 员工编号,部门编号,sum(c.金额),count(c.金额),.....
from 员工信息表 a
left join 员工客户关系表 b on a.员工编号 = b.员工编号
left join A业务表 c on b.客户号 = c.客户号
left join b业务表 d on b.客户号 = d.客户号
left join c业务表 e on b.客户号 = e.客户号
left join d业务表 f on b.客户号 = f.客户号
pt1314917 2009-12-24
  • 打赏
  • 举报
回复
最好能给点测试数据和结果。或者说说结果中每个字段是怎么来的。也行。。。

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧