码迷,mamicode.com
首页 > 数据库 > 详细

Oracle小案例(2)

时间:2016-08-02 09:58:28      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:

有如下三张表:

销售表:SALE_FACT

 工号   年月   城市   客户   销售额 
C00001 201601 上海 A 1000
C00001 201601 上海 B 5000
C00001 201601 上海 C 300
C00001 201601 上海 D 800
C00004 201601 北京 E 600
C00004 201602 长春 F 300
C00006 201603 沈阳 G 9000
C00007 201604 哈尔滨 H 800
C00008 201605 沈阳 I 2200
C00008 201606 大连 J 1200

 

 

 

 

 

 

 

 

 

 

员工表:DIM_EMP

工号 姓名
C00001 张三
C00002 李四
C00003 王五
C00004 赵六
C00005 林七
C00006 钱八
C00007 宋十
C00008 李白
C00009 陆游
C00010 王林

 

 

 

 

 

 

 

 

 

 

拜访表:VISIT_FACT

工号 年月 客户 拜访次数
C00001 201601 A 5
C00001 201601 B 6
C00001 201601 C 9
C00001 201601 D 22
C00004 201601 E 33
C00004 201602 F 44
C00006 201603 G 100
C00007 201604 H 6
C00008 201605 I 9
C00008 201606 J 8

 

 

 

 

 

 

 

 

 

问题如下:

1.查出每个员工每个月的总销售额

2.查出每个员工每个月的总拜访次数

3.查出每个员工每个城市的总销售额

4.查出全年销售额最大的员工

5.列出全年销售额从大到小排序员工姓名及其全年销售额

6.列出每个员工当年的销售额及其当年总的拜访次数

7.查出拜访次数最多的员工的全年销售额

下面我们先进行前期表和数据的准备

1.创建销售事实表:

CREATE TABLE SALE_FACT(
     EMPNO NVARCHAR2(10)
    ,YEAR_MONTH CHAR(6)
    ,CITY VARCHAR(10)
    ,CLIENT VARCHAR(10)
    ,SALES NUMBER);

 2.往销售事实表中插入数据:

--往销售事实表中插入数据
INSERT INTO SALE_FACT VALUES(C00001,201601,上海,A,1000);
INSERT INTO SALE_FACT VALUES(C00001,201601,上海,B,5000);
INSERT INTO SALE_FACT VALUES(C00001,201601,上海,C,300);
INSERT INTO SALE_FACT VALUES(C00001,201601,上海,D,800);
INSERT INTO SALE_FACT VALUES(C00004,201601,北京,E,600);
INSERT INTO SALE_FACT VALUES(C00004,201602,长春,F,300);
INSERT INTO SALE_FACT VALUES(C00006,201603,沈阳,G,9000);
INSERT INTO SALE_FACT VALUES(C00007,201604,哈尔滨,H,800);
INSERT INTO SALE_FACT VALUES(C00008,201605,沈阳,I,2200);
INSERT INTO SALE_FACT VALUES(C00008,201606,大连,J,1200);

3.创建员工维度表:

CREATE TABLE DIM_EMP(
  EMPNO NVARCHAR2(10)
 ,EMPNAME NVARCHAR2(10));

4.往员工维度表插入数据:

--往员工维度表插入数据
INSERT INTO DIM_EMP VALUES(C00001,张三); 
INSERT INTO DIM_EMP VALUES(C00002,李四);
INSERT INTO DIM_EMP VALUES(C00003,王五);
INSERT INTO DIM_EMP VALUES(C00004,赵六);
INSERT INTO DIM_EMP VALUES(C00005,林七);
INSERT INTO DIM_EMP VALUES(C00006,钱八);
INSERT INTO DIM_EMP VALUES(C00007,宋十);
INSERT INTO DIM_EMP VALUES(C00008,李白);
INSERT INTO DIM_EMP VALUES(C00009,陆游);
INSERT INTO DIM_EMP VALUES(C00010,王林);

5.创建员工拜访事实表:

CREATE TABLE VISIT_FACT(
  EMPNO NVARCHAR2(10)
 ,YEAR_MONTH CHAR(6)
 ,CLIENT NVARCHAR2(10)
 ,VISIT_COUNT NUMBER);

6.往拜访事实表插入数据:

--往拜访事实表插入数据
INSERT INTO VISIT_FACT VALUES(C00001,201601,A,5);
INSERT INTO VISIT_FACT VALUES(C00001,201601,B,6);
INSERT INTO VISIT_FACT VALUES(C00001,201601,C,9);
INSERT INTO VISIT_FACT VALUES(C00001,201601,D,22);
INSERT INTO VISIT_FACT VALUES(C00004,201601,E,33);
INSERT INTO VISIT_FACT VALUES(C00004,201602,F,44);
INSERT INTO VISIT_FACT VALUES(C00006,201603,G,100);
INSERT INTO VISIT_FACT VALUES(C00007,201604,H,6);
INSERT INTO VISIT_FACT VALUES(C00008,201605,I,9);
INSERT INTO VISIT_FACT VALUES(C00008,201606,J,8);

 

Oracle小案例(2)

标签:

原文地址:http://www.cnblogs.com/Jims2016/p/5728137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!