oracle 统计销售员销售业绩的sql(级联累加)

问题描述

oracle 统计销售员销售业绩的sql(级联累加)

销售员表
id name 销售额(万) 上级id
1 A 10

2 B 10 1
3 C 10 2
4 D 10 2
5 E 10

6 F 10 5

最后实现的结果是 id为1 的 总销售额是 40万 2的销售额 是30 万 3 的销售额10万 5的销售额是10 20万 。。。。。
就是从树的叶子开始依次将子节点的值加到父节点上

解决方案

create table xx_sale
(
id number primary key,
name varchar2(20),
amount number,
pre_id number
)

select x.id, sum(x.amount)
from xx_sale x
connect by prior x.pre_id = x.id
group by x.id

解决方案二:

我给个思路,按你的需求,可以分别建立组织机构表(organization_tb)、销售业绩表(sale_tb)。
表结构如下:
oraganization_rb(id,name,id_upper)
sale_tb(id,sales,……)
根据组织结构表建立视图level_vw,建立3级组织机构,SQL语句如下:
SELECT id AS id_1,name AS name_1,id AS id_2,name AS name_2,id AS id_3,name AS name_3 FROM sales_tb WHERE (id_upper IS NULL)
UNION ALL SELECT b.id_1,b.name_1,a.id AS id_2,a.name AS name_2,a.id AS id_3,name AS name_3 FROM sales_tb a,(SELECT id AS id_1,name AS name_1 FROM sales_tb WHERE (id_upper IS NULL)) b WHERE a.id_upper=b.id_1
UNION ALL SELECT d.id_1,d.name_1,d.id_2,d.name_2,c.id AS id_3,c.name AS name_3 FROM sales_tb c,(SELECT b.id_1,b.name_1,a.id AS id_2,a.name AS name_2 FROM sales_tb a,(SELECT id AS id_1,name AS name_1 FROM sales_tb WHERE (id_upper IS NULL)) b WHERE a.id_upper=b.id_1) d WHERE c.id_upper=d.id_2

将sales_tb与oraganization通过id关联,用groud by对不同的组织机构级别进行聚合,可得到你想要的结果。
我认为这个简单直观,网上还有使用存储过程实现的方法,你有兴趣,可以研究一下。

解决方案三:

纠正一下,将sales_tb与level_vw通过id_3关联

时间: 2024-09-17 04:53:02

oracle 统计销售员销售业绩的sql(级联累加)的相关文章

sql-jsp +oracle分页问题 主要是在SQL语句上

问题描述 jsp +oracle分页问题 主要是在SQL语句上 <%@ page language=""java"" contentType=""text/html; charset=UTF-8"" pageEncoding=""UTF-8""%> <%@page import=""java.sql.*""%><!DO

大数据帮助你提高销售业绩的4种方式

ZDNet至顶网软件频道消息:大数据推动销售的最知名的例子之一是亚马逊,该公司完善了对所有数据的分析来提高其销量.而事实上,小型公司也可以利用大数据来推动其销售更上一层楼,这将涉及你已经收集的数据.你需要收集的数据,以及如何结合不同的数据集来获取促进销售的情报信息.无论你是进行B2B销售.B2C还是C2C销售,大数据都可以帮助你提高业绩. 在过去,卖家通常拥有比买方更多的信息.而在B2C以及B2B时代,这种局面已经大大改变.现在消费者可以扫描条形码或者执行简单的搜索查询来查找不同网站的类似产品,

苏宁双11销售业绩喜人

摘要: 11月11日0时,一年一度的电商大战正式打响.成千上万的消费者通宵疯狂抢购,各家电商的工作人员也通宵达旦地忙碌.据悉,当晚苏宁全国2万员工通宵值班,并邀供应商全程监控数据 11月11日0时,一年一度的电商大战正式打响.成千上万的消费者通宵疯狂抢购,各家电商的工作人员也通宵达旦地忙碌.据悉,当晚苏宁全国2万员工通宵值班,并邀供应商全程监控数据.活动当天,苏宁易购销售迎来爆发,成绩可圈可点. 双11销售业绩喜人 从11日0点开始,已经持续4天的苏宁第二届O2O购物节进入高潮,苏宁云商运营总部

双11销售业绩喜人

摘要: 11月11日0时,一年一度的电商大战正式打响.成千上万的消费者通宵疯狂抢购,各家电商的工作人员也通宵达旦地忙碌.据悉,当晚苏宁全国2万员工通宵值班,并邀供应商全程监控数据 11月11日0时,一年一度的电商大战正式打响.成千上万的消费者通宵疯狂抢购,各家电商的工作人员也通宵达旦地忙碌.据悉,当晚苏宁全国2万员工通宵值班,并邀供应商全程监控数据.活动当天,苏宁易购销售迎来爆发,成绩可圈可点. 双11销售业绩喜人 从11日0点开始,已经持续4天的苏宁第二届O2O购物节进入高潮,苏宁云商运营总部

年底销售业绩或将受冲击

持币待购者可能增加 本报记者 易红梅 实习生 刘洪韬 报道 "1.6L以下小排量汽车购置税减半.汽车下乡补贴等汽车消费鼓励政策在2009年达到了刺激车市.引导消费的目的,所以2010年不应该将此政策停顿下来."昨天,深圳市社科院城市营运中心主任高海燕这样评价汽车消费的政策.他说,这也使得越来越多的市民在购买汽车时优先考虑小排量车型.但也有车行表示,担心持币待购者增加,影响年底销售业绩. 据了解,在今年国务院出台的汽车消费鼓励政策中,在小排量乘用车购置税减半征收等利好政策下,今年国内小排

在Oracle里设置访问多个SQL Server

1.在安装了ORACLE9i Standard Edition或者ORACLE9i Enterprise Edition的windows机器上(IP:192.168.0.2), 产品要选了透明网关(Oracle Transparent Gateway)里访问Microsoft SQL Server数据库 $ORACLE9I_HOME\tg4msql\admin下新写initpubs.ora和initnorthwind.ora配置文件. initpubs.ora内容如下: HS_FDS_CONNE

Oracle诊断案例----如何捕获问题SQL解决过度CPU消耗问题

oracle|解决|问题 Oracle诊断案例----如何捕获问题SQL解决过度CPU消耗问题 --使用vmstat,top等辅助解决Oracle数据库性能问题 Last Updated: Sunday, 2004-10-24 0:37 Eygle       问题描述:开发人员报告系统运行缓慢,影响用户访问. 1.登陆数据库主机 使用vmstat检查,发现CPU资源已经耗尽,大量任务位于运行队列: bash-2.03$ vmstat 3 procs memory page disk fault

解析Oracle查询和删除JOB的SQL

本篇文章是对Oracle查询和删除JOB的SQL的实现方法进行了详细的分析介绍,需要的朋友参考下   查询及删除重复记录的SQL语句1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from people where peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(

oracel-如何把下面的oracle中的存储过程转换成sql的?

问题描述 如何把下面的oracle中的存储过程转换成sql的? create or replace procedure BJ_MAXCASENO_Get(InCount in number, OutMaxCaseNO out number) as tem number; begin select max(caseno) into tem from BJ_MAXCASENO; if tem is null then tem := 0; -- 没有数据时新增0进入 insert into BJ_MA