为了账号安全,请及时绑定邮箱和手机立即绑定

复杂的数据库查询(销售统计分析)问题

复杂的数据库查询(销售统计分析)问题

繁星点点滴滴 2018-12-07 10:10:58
表 a: 员工销售统计表 部门 工号 姓名 负责地区 销售金额 部门一 001 员工一 北京 2 部门一 002 员工二 上海 3 部门一 003 员工三 上海 4 部门一 003 员工三 上海 5 部门二 004 员工四 北京 6 部门二 004 员工四 北京 7 部门二 005 员工五 上海 8    /********************结果效果图*********************************/  按部门统计结果: 部门:部门一 工号 姓名 上海 北京 数量 金额 数量 金额 001 员工一 0 0 1 2 002 员工二 1 3 0 0 003 员工三 2 9 0 0 部门:部门二 工号 姓名 上海 北京 数量 金额 数量 金额 004 员工四 0 0 2 13 005 员工五 1 8 0 0 使用sql查询员工销售统计表(表 a)中的数据,返回一个按照部门和地区销售业绩的结果并且能在gridview或repear 控件中绑定的结果。
查看完整描述

9 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

NID       NUMBER Y          工号ID
NNAME     VARCHAR2(20) Y     员工姓名
NPART     NUMBER Y           所属部门
ADDRESS   VARCHAR2(20) Y      地址
NMOENY   sNUMBER Y           金额

 

Select NID,NName,sum(NMoeny) from ABC Where NPart=部门 Group by Address,NID,NName

查看完整回答
反对 回复 2019-01-21
?
阿晨1998

TA贡献2037条经验 获得超6个赞

  你没说这些员工属于什么部门是怎么区分的啊?

查看完整回答
反对 回复 2019-01-21
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

表中的数据用颜色区分了,每一个员工都对应有自己的部门,第一个字段就是部门。
查看完整回答
反对 回复 2019-01-21
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

想完全达到你的显示结果仅仅靠sql是实现不了的,你这个能够做的就是用动态sql统计出按照部门分组的数据。

查看完整回答
反对 回复 2019-01-21
?
皈依舞

TA贡献1851条经验 获得超3个赞

可以根据查询条件动态生成sql语句,不过这样就没有办法利用sql缓存,如果数据量比较大就会很慢。

建议:

根据不同的查询条件,比如按部门统计,按员工统计,按地区统计等等情况,分别创建相应的存储过程,然后在程序中判断用户选择的查询条件,确定调用哪个存储过程来执行查询。

查看完整回答
反对 回复 2019-01-21
?
狐的传说

TA贡献1804条经验 获得超3个赞

需要的是所有的查询条件都同时具备,不是单个查询条件。
查看完整回答
反对 回复 2019-01-21
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

下面是按只有两个地区的sql ,如果超出两个地区,我想只能在存储过程里写了

select gonghao,max(xingming) xingming ,max(cnum) cnum,max(sjine) sjine,min(cnum) mnum,min(sjine) mjine from
(SELECT diqu, gonghao,max(xingming) as xingming,count(gonghao) as cnum,sum(jine) as sjine
  FROM [SCTest].[dbo].[test1]
where bumen = 1
group by gonghao,diqu) as tab1
group by gonghao

表:

1    1    name1    dress1    5
1    1    name1    dress1    2
1    1    name1    dress2    6
2    2    name2    dress1    6
2    2    name2    dress2    2
2    2    name2    dress2    3
1    3    name3    dress1    9
1    3    name3    dress2    10

结果:

1    name1    2    7    1    6
3    name3    1    10    1    9

查看完整回答
反对 回复 2019-01-21
?
慕仙森

TA贡献1827条经验 获得超7个赞

那就只能写存储过程,用游标循环,建临时表,最后反回临时表内容
查看完整回答
反对 回复 2019-01-21
  • 9 回答
  • 0 关注
  • 539 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信