问个算去年同期值的sql

charlesxu 2013-05-21 11:26:05
表中数据如下:
日期 得分
2012-1 85
2012-2 98
2012-3 56
2012-4 66
2012-5 34
。。。
。。。
2013-1 82
2013-2 78
2013-3 29
2013-4 77

sql查4个值,日期、得分、去年同期得分、历史最高得分,希望取到的值如下:

日期 得分 去年同期得分 历史最高得分
2012-1 85
2012-2 98
2012-3 56
2012-4 66
2012-5 34
。。。
。。。
2013-1 82 85 85
2013-2 78 98 98
2013-3 29 56 29
2013-4 66 77 77

请问这个sql怎么写?
...全文
781 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
run-and-debug 2013-05-22
  • 打赏
  • 举报
回复
这样可以查出来:
SELECT t1.dt,t1.score,
(SELECT t2.score FROM VALUE t2 WHERE SUBSTR(t2.dt,6,2)= SUBSTR(t1.dt,6,2) 
AND SUBSTR(t2.dt,1,4)= (SUBSTR(t1.dt,1,4)-1)
) AS lastYear,
(SELECT MAX(t3.score) FROM VALUE t3 WHERE SUBSTR(t3.dt,6,2)= SUBSTR(t1.dt,6,2)
AND SUBSTR(t3.dt,1,4) < SUBSTR(t1.dt,1,4)
) AS lastYear1
 FROM VALUE t1
  • 打赏
  • 举报
回复
这效果么 如果日期格式都是固定的 可以 如果是2011-1那可能要找到'-'的位置开始截取了 稍微麻烦了点

with t1 as
(
     select '2011-01' dt,85 sc from dual union all
     select '2011-02' dt,98 sc from dual union all
     select '2011-03' dt,56 sc from dual union all
     select '2011-04' dt,66 sc from dual union all
     select '2012-01' dt,33 sc from dual union all
     select '2012-02' dt,34 sc from dual union all
     select '2012-03' dt,54 sc from dual union all
     select '2012-04' dt,69 sc from dual union all
     select '2013-01' dt,97 sc from dual union all
     select '2013-02' dt,43 sc from dual union all
     select '2013-03' dt,44 sc from dual union all
     select '2013-04' dt,34 sc from dual 
)

select dt,sc,s_sc,
       (select max(sc) from t1 where t1.dt <= t.dt and substr(t1.dt,-2)=substr(t.dt,-2)) m_sc
from
(
select dt,sc,
       case row_number() over(partition by substr(dt,-2) order by rownum) 
       when 1 then null 
       else lag(sc) over(order by substr(dt,-2),substr(dt,1,4)) end s_sc
from t1
) t
order by dt

      dt      sc    s_sc    m_sc
------------------------------------------
1	2011-01	85		85
2	2011-02	98		98
3	2011-03	56		56
4	2011-04	66		66
5	2012-01	33	85	85
6	2012-02	34	98	98
7	2012-03	54	56	56
8	2012-04	69	66	69
9	2013-01	97	33	97
10	2013-02	43	34	98
11	2013-03	44	54	56
12	2013-04	34	69	69

u010412956 2013-05-21
  • 打赏
  • 举报
回复
历史最高得分 是怎么算的?
  • 打赏
  • 举报
回复
看lz也发了200多个贴了 基本的sql应该清楚吧 where过滤地区 然后要用上面那sql的话 可能这里要改改 转换后的月份是有0的

(select sum(sc)
 from t1 t
 where t.dt =
 to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分
where t.dt —→ where to_char(to_date(t.dt,'yyyy-mm'),'yyyy-mm') 或者where substr(t.dt,1,5)||lpad(substr(t.dt,6,2),2,'0')
u010412956 2013-05-21
  • 打赏
  • 举报
回复
最后面加个where不就可以了么? from t1 where 地区='北京'
charlesxu 2013-05-21
  • 打赏
  • 举报
回复
引用 14 楼 u010412956 的回复:
[quote=引用 12 楼 charlesxu 的回复:] [quote=引用 6 楼 u010412956 的回复:] 借下2#的数据:
with t1 as
 (select '2011-01' dt, 85 sc
    from dual
  union all
  select '2011-02' dt, 98 sc
    from dual
  union all
  select '2011-03' dt, 56 sc
    from dual
  union all
  select '2011-04' dt, 66 sc
    from dual
  union all
  select '2012-01' dt, 33 sc
    from dual
  union all
  select '2012-02' dt, 34 sc
    from dual
  union all
  select '2012-03' dt, 54 sc
    from dual
  union all
  select '2012-04' dt, 69 sc
    from dual
  union all
  select '2013-01' dt, 97 sc
    from dual
  union all
  select '2013-02' dt, 43 sc
    from dual
  union all
  select '2013-03' dt, 44 sc
    from dual
  union all
  select '2013-04' dt, 34 sc from dual)
select t1.dt 日期,
       t1.sc 得分,
       (select sc
          from t1 t
         where t.dt =
               to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分,
       (select max(sc)
          from t1 t
         where t.dt < t1.dt
           and substr(t1. dt, 6, 2) = substr(t.dt, 6, 2)) 历史最高得分
  from t1;
我用你的sql执行时报错:ORA:01427-single-row subquery returns more than one row[/quote] 你相同的年月 会有多条记录,,那就这样:
with t1 as
 (select '2011-01' dt, 85 sc
    from dual
  union all
  select '2011-02' dt, 98 sc
    from dual
  union all
  select '2011-03' dt, 56 sc
    from dual
  union all
  select '2011-04' dt, 66 sc
    from dual
  union all
  select '2012-01' dt, 33 sc
    from dual
  union all
  select '2012-02' dt, 34 sc
    from dual
  union all
  select '2012-03' dt, 54 sc
    from dual
  union all
  select '2012-04' dt, 69 sc
    from dual
  union all
  select '2013-01' dt, 97 sc
    from dual
  union all
  select '2013-02' dt, 43 sc
    from dual
  union all
  select '2013-03' dt, 44 sc
    from dual
  union all
  select '2013-04' dt, 34 sc from dual)
select t1.dt 日期,
       t1.sc 得分,
       (select sum(sc)
          from t1 t
         where t.dt =
               to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分,
       (select max(sc)
          from t1 t
         where t.dt < t1.dt
           and substr(t1. dt, 6, 2) = substr(t.dt, 6, 2)) 历史最高得分
  from t1;
[/quote] 相同的年月,但是地区不同,能改改吗?我只要北京地区的得分、去年同期得分、历史最高得分 日期 得分 地区 2012-1 85 北京 2012-2 98 天津 2012-3 56 上海 2012-4 66 广州 2012-5 34 深圳
  • 打赏
  • 举报
回复
引用 9 楼 charlesxu 的回复:
现在有个问题,我的日期字段是字符型的,格式如下 2011-1 2011-2 。。。 2011-10 2011-12 请问怎么处理才能取出相同的结果?
可以直接截取 因为'-'的位置是固定的 后面最多2位 或者to_char(to_date(dt,'yyyy-mm'),'mm')就是麻烦点 效率也不行

select dt,sc, 
       case row_number() over(partition by substr(dt,6,2) order by rownum) 
       when 1 then null 
       else lag(sc) over(order by substr(dt,6,2)) end s_sc,
       (select max(sc) 
       from t1 
       where t1.dt <= t.dt 
             and substr(t1.dt,6,2)=substr(t.dt,6,2)
       ) m_sc
from t1 t
order by dt
u010412956 2013-05-21
  • 打赏
  • 举报
回复
引用 12 楼 charlesxu 的回复:
[quote=引用 6 楼 u010412956 的回复:] 借下2#的数据:
with t1 as
 (select '2011-01' dt, 85 sc
    from dual
  union all
  select '2011-02' dt, 98 sc
    from dual
  union all
  select '2011-03' dt, 56 sc
    from dual
  union all
  select '2011-04' dt, 66 sc
    from dual
  union all
  select '2012-01' dt, 33 sc
    from dual
  union all
  select '2012-02' dt, 34 sc
    from dual
  union all
  select '2012-03' dt, 54 sc
    from dual
  union all
  select '2012-04' dt, 69 sc
    from dual
  union all
  select '2013-01' dt, 97 sc
    from dual
  union all
  select '2013-02' dt, 43 sc
    from dual
  union all
  select '2013-03' dt, 44 sc
    from dual
  union all
  select '2013-04' dt, 34 sc from dual)
select t1.dt 日期,
       t1.sc 得分,
       (select sc
          from t1 t
         where t.dt =
               to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分,
       (select max(sc)
          from t1 t
         where t.dt < t1.dt
           and substr(t1. dt, 6, 2) = substr(t.dt, 6, 2)) 历史最高得分
  from t1;
我用你的sql执行时报错:ORA:01427-single-row subquery returns more than one row[/quote] 你相同的年月 会有多条记录,,那就这样:
with t1 as
 (select '2011-01' dt, 85 sc
    from dual
  union all
  select '2011-02' dt, 98 sc
    from dual
  union all
  select '2011-03' dt, 56 sc
    from dual
  union all
  select '2011-04' dt, 66 sc
    from dual
  union all
  select '2012-01' dt, 33 sc
    from dual
  union all
  select '2012-02' dt, 34 sc
    from dual
  union all
  select '2012-03' dt, 54 sc
    from dual
  union all
  select '2012-04' dt, 69 sc
    from dual
  union all
  select '2013-01' dt, 97 sc
    from dual
  union all
  select '2013-02' dt, 43 sc
    from dual
  union all
  select '2013-03' dt, 44 sc
    from dual
  union all
  select '2013-04' dt, 34 sc from dual)
select t1.dt 日期,
       t1.sc 得分,
       (select sum(sc)
          from t1 t
         where t.dt =
               to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分,
       (select max(sc)
          from t1 t
         where t.dt < t1.dt
           and substr(t1. dt, 6, 2) = substr(t.dt, 6, 2)) 历史最高得分
  from t1;
  • 打赏
  • 举报
回复
写多了 第四行去掉lag后面2个参数 lag(sc) over()
charlesxu 2013-05-21
  • 打赏
  • 举报
回复
引用 6 楼 u010412956 的回复:
借下2#的数据:
with t1 as
 (select '2011-01' dt, 85 sc
    from dual
  union all
  select '2011-02' dt, 98 sc
    from dual
  union all
  select '2011-03' dt, 56 sc
    from dual
  union all
  select '2011-04' dt, 66 sc
    from dual
  union all
  select '2012-01' dt, 33 sc
    from dual
  union all
  select '2012-02' dt, 34 sc
    from dual
  union all
  select '2012-03' dt, 54 sc
    from dual
  union all
  select '2012-04' dt, 69 sc
    from dual
  union all
  select '2013-01' dt, 97 sc
    from dual
  union all
  select '2013-02' dt, 43 sc
    from dual
  union all
  select '2013-03' dt, 44 sc
    from dual
  union all
  select '2013-04' dt, 34 sc from dual)
select t1.dt 日期,
       t1.sc 得分,
       (select sc
          from t1 t
         where t.dt =
               to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分,
       (select max(sc)
          from t1 t
         where t.dt < t1.dt
           and substr(t1. dt, 6, 2) = substr(t.dt, 6, 2)) 历史最高得分
  from t1;
我用你的sql执行时报错:ORA:01427-single-row subquery returns more than one row
  • 打赏
  • 举报
回复
为什么插入会选择这种格式 转换成日期也不方便 截取也会降低效率..

select dt,sc, 
       case row_number() over(partition by substr(dt,instr(dt,'-')+1,length(dt)) order by rownum) 
       when 1 then null 
       else lag(sc,1,null) over(order by substr(dt,instr(dt,'-')+1,length(dt))) end s_sc,
       (select max(sc) 
       from t1 
       where t1.dt <= t.dt 
             and substr(t1.dt,instr(t1.dt,'-')+1,length(t1.dt))=substr(t.dt,instr(t.dt,'-')+1,length(t.dt))
       ) m_sc
from t1 t
order by dt
rabitsky 2013-05-21
  • 打赏
  • 举报
回复
数据入库的时候控制一下格式不就可以了吗 to_char(XXX,'yyyy-mm')。 或者重新拼接一个to_char(to_date(xx||'-01','yyyy-mm-dd'),'yyyy-mm') …… 这种基本的东西,方法很多
charlesxu 2013-05-21
  • 打赏
  • 举报
回复
现在有个问题,我的日期字段是字符型的,格式如下 2011-1 2011-2 。。。 2011-10 2011-12 请问怎么处理才能取出相同的结果?
rabitsky 2013-05-21
  • 打赏
  • 举报
回复
借用楼上数据。

with t1 as (
select '2011-01' dt,85 sc from dual union all
select '2011-02' dt,98 sc from dual union all
select '2011-03' dt,56 sc from dual union all
select '2011-04' dt,66 sc from dual union all
select '2012-01' dt,33 sc from dual union all
select '2012-02' dt,34 sc from dual union all
select '2012-03' dt,54 sc from dual union all
select '2012-04' dt,69 sc from dual union all
select '2013-01' dt,97 sc from dual union all
select '2013-02' dt,43 sc from dual union all
select '2013-03' dt,44 sc from dual union all
select '2013-04' dt,34 sc from dual )
select dt, sc, lag(sc,1,null) over(partition by substr(dt,-2) order by dt) last_sc,
(select max(sc)
from t b
where b.dt <= a.dt
and substr(b.dt,-2) = substr(a.dt,-2)) max_sc
from t1 a
order by 1;



vanjayhsu 2013-05-21
  • 打赏
  • 举报
回复
引用 6 楼 u010412956 的回复:
借下2#的数据:
with t1 as
 (select '2011-01' dt, 85 sc
    from dual
  union all
  select '2011-02' dt, 98 sc
    from dual
  union all
  select '2011-03' dt, 56 sc
    from dual
  union all
  select '2011-04' dt, 66 sc
    from dual
  union all
  select '2012-01' dt, 33 sc
    from dual
  union all
  select '2012-02' dt, 34 sc
    from dual
  union all
  select '2012-03' dt, 54 sc
    from dual
  union all
  select '2012-04' dt, 69 sc
    from dual
  union all
  select '2013-01' dt, 97 sc
    from dual
  union all
  select '2013-02' dt, 43 sc
    from dual
  union all
  select '2013-03' dt, 44 sc
    from dual
  union all
  select '2013-04' dt, 34 sc from dual)
select t1.dt 日期,
       t1.sc 得分,
       (select sc
          from t1 t
         where t.dt =
               to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分,
       (select max(sc)
          from t1 t
         where t.dt < t1.dt
           and substr(t1. dt, 6, 2) = substr(t.dt, 6, 2)) 历史最高得分
  from t1;
赞一个
u010412956 2013-05-21
  • 打赏
  • 举报
回复
借下2#的数据:
with t1 as
 (select '2011-01' dt, 85 sc
    from dual
  union all
  select '2011-02' dt, 98 sc
    from dual
  union all
  select '2011-03' dt, 56 sc
    from dual
  union all
  select '2011-04' dt, 66 sc
    from dual
  union all
  select '2012-01' dt, 33 sc
    from dual
  union all
  select '2012-02' dt, 34 sc
    from dual
  union all
  select '2012-03' dt, 54 sc
    from dual
  union all
  select '2012-04' dt, 69 sc
    from dual
  union all
  select '2013-01' dt, 97 sc
    from dual
  union all
  select '2013-02' dt, 43 sc
    from dual
  union all
  select '2013-03' dt, 44 sc
    from dual
  union all
  select '2013-04' dt, 34 sc from dual)
select t1.dt 日期,
       t1.sc 得分,
       (select sc
          from t1 t
         where t.dt =
               to_char(add_months(to_date(t1.dt, 'yyyy-mm'), -12), 'yyyy-mm')) 去年同期得分,
       (select max(sc)
          from t1 t
         where t.dt < t1.dt
           and substr(t1. dt, 6, 2) = substr(t.dt, 6, 2)) 历史最高得分
  from t1;
  • 打赏
  • 举报
回复
如果是日期格式 里面的截取换成取值 substr(dt,-2) → to_char(dt,'mm') substr(dt,1,4) → to_char(dt,'yyyy')
  • 打赏
  • 举报
回复
写麻烦了 不用嵌套 换成子查询就可以了

select dt,sc,
       case row_number() over(partition by substr(dt,-2) order by rownum) 
       when 1 then null 
       else lag(sc) over(order by substr(dt,-2),substr(dt,1,4)) end s_sc,
       (select max(sc) from t1 where t1.dt <= t.dt and substr(t1.dt,-2)=substr(t.dt,-2)) m_sc
from t1 t
order by dt
charlesxu 2013-05-21
  • 打赏
  • 举报
回复
引用 1 楼 u010412956 的回复:
历史最高得分 是怎么算的?
历史最高得分是之前所有年份当月的最高分,比如2013年7月的历史最高得分是2010、2011、2012年7月得分中最高的。
摘 要 9 前言 10 第一章 实体、对象命名规范 11 1.1 表名的命名规范 11 1.2 表的字段命名规范 12 1.3 序列命名规范 12 1.4 视图命名规范 12 1.5 触发器命名规范 12 1.6 存储过程命名规范 13 1.7 函数命名规范 13 1.8 包命名规范 13 第二章 实体关系(E-R)图集 14 第三章 数据字典 15 3.1 系统基础模块 15 3.1.1 表 15 3.1.1.1. 安全性评价标准表 (BASE_NormSec) 15 3.1.1.2. 安全性评价检查标准表 (Base_SCNorm) 15 3.1.1.3. 材料表 (Base_Material) 16 3.1.1.4. 材料类别表 (Base_SMaterial) 16 3.1.1.5. 材质表 (Base_Quality) 17 3.1.1.6. 仓库保管员表 (Base_Storekeeper) 17 3.1.1.7. 仓库表 (Base_Storage) 17 3.1.1.8. 仓库货架表 (Base_Carcase) 18 3.1.1.9. 货架层表 (Base_Layer) 18 3.1.1.10. 货架排表 (Base_Row) 18 3.1.1.11. 机组表 (Base_MGroup) 19 3.1.1.12. 计量单位表 (Base_Unit) 19 3.1.1.13. 计量单位关系表 (Base_UnitRelation) 19 3.1.1.14. 供货单位 (Base_Provider) 20 3.1.1.15. 供货商产品表 (Base_ProductProvider) 20 3.1.1.16. 汉字拼音表 (BASE$CHINESE) 21 3.1.1.17. 考勤类别表 (Base_CheckSort) 21 3.1.1.18. 汽车司机表 (Base_Driver) 22 3.1.1.19. 缺陷清册表 (Base_EDList) 22 3.1.1.20. 设备备品配件表 (BASE_EQUBACK) 22 3.1.1.21. 设备表 (Base_Equipment) 23 3.1.1.22. 设备技术图纸(Base_TechPicEquipment) 25 3.1.1.23. 生产系统表 (Base_ProSys) 25 3.1.1.24. 事故填报表 (Base_AFill) 25 3.1.1.25. 压力容器检验标准表 (Base_PCNorm) 26 3.1.1.26. 员工表 (Base_Emp) 26 3.1.1.27. 噪声监测点表 (Base_NoiseAddress) 27 3.1.1.28. 专业表 (Base_Specialty) 27 3.1.2 视图 28 3.1.3 存储过程 28 3.1.4 函数 28 3.1.4.1 fun_Encipher(加密用户密码函数) 28 3.1.4.2 fun_ConvertIDCard(身份证转换函数) 29 3.1.5 包 30 3.2 系统管理子模块 30 3.2.1 表 30 3.2.1.1 班组表 (sys_workgroup) 30 3.2.1.2 部门表 (sys_Dept) 31 3.2.1.3 角色表 (sys_role) 31 3.2.1.4 角色权限表 (sys_RolePriv) 31 3.2.1.5 模块菜单表 (Sys_MMenu) 31 3.2.1.6 权限表 (sys_priv) 32 3.2.1.7 人员职务关系表 (sys_UserDuty) 32 3.2.1.8 系统模块表 (Sys_Module) 33 3.2.1.9 系统日志表 (sys_log) 33 3.2.1.10 消息表 (sys_message) 33 3.2.1.11 用户表 (Sys_user) 34 3.2.1.12 用户权限表 (sys_UserPriv) 35 3.2.1.13 职务表 (sys_Duty) 35 3.2.2 视图 35 3.2.2.1 员工索引视图 (V_BASE_EMP) 35 3.2.2.2 事故填报索引视图 (V_Base_AFill) 36 3.2.3 存储过程 36 3.2.4 函数 36 3.2.5 包 36 3.3 系统公共部分 37 3.3.1 表 37 3.3.1.2 记事本 (Com_NoteBook) 37 3.3.1.3 规章制度表 (Com_Regulation) 37 3.3.1 视图 38 3.3.2 存储过程 38 3.3.2.1 DBMS_RANDOM(产生随机因子) 38 3.3.3 函数 39 3.3.3.1 fun_L2U(人民币转换函数) 39 3.3.3.2 fun_GetCVS(得到逗号分隔的行字符串函数) 41 3.3.4 包 41 3.4 物资管理子模块 42 3.4.1 表 42 3.4.1.1 材料存放位置表 (MRP_Position) 42 3.4.1.2 采购发票表 (MRP_Invoice) 42 3.4.1.3 采购发票明细表 (MRP_InvoiceDetailed) 43 3.4.1.4 仓库收支存表(表头) (MRP_SBRep) 44 3.4.1.5 仓库收支存明细表 (MRP_BRDetailed) 44 3.4.1.6 代管物资登记表 (MRP_ProxyMeterail) 45 3.4.1.7 代管物资发放记录表 (MRP_PMRecord) 46 3.4.1.8 发票取款记录表 (MRP_IHRecord) 46 3.4.1.9 合同表 (MRP_Compact) 47 3.4.1.10 合同会签表 (MRP_CCountersign) 48 3.4.1.11 合同明细表 (MRP_CDetail) 48 3.4.1.12 合同执行情况表 (MRP_ExecSituation) 49 3.4.1.13 零星购置的申请表 (MRP_PFractional) 49 3.4.1.14 领/退料单/调拨单表 (MRP_MaterialsRequst) 50 3.4.1.15 收料单表 (MRP_BillMaterial) 52 3.4.1.16 收料单明细表 (MRP_BMDetailed) 53 3.4.1.17 物资结存表 (MRP_ChkInventory) 54 3.4.1.18 物资明细帐 (MRP_BillDetailBook) 54 3.4.1.19 物资申请计划表 (MRP_MRequestPlan) 55 3.4.1.20 物资申请计划明细表 (MRP_MRPDetailed) 56 3.4.1.21 帐册表 (MRP_BillBook) 56 3.4.2 视图 56 3.4.2.1 **库物资使用方向视图 (V_MRP_MATERIALSREQUST) 56 3.4.2.2 物资索引视图 (V_MRP_MaterialIdx) 57 3.4.3 存储过程 57 3.4.4 函数 57 3.4.5 包 57 3.5 设备管理检修子模块 58 3.5.1 表 58 3.5.1.1 车辆表 (Equ_Vehicle) 58 3.5.1.2 车辆修理记录表 (Equ_VFRecord) 59 3.5.1.3 春检/小修计划表 (Equ_LCPlan) 60 3.5.1.4 大修技改项目计划批复表 (Equ_RRAudit) 61 3.5.1.5 大修技改项目申请表 (Equ_RepairRebuild) 62 3.5.1.6 大修相关设备表 (Equ_EquRelation) 63 3.5.1.7 大修相关文档表 (Equ_DocRebuild) 64 3.5.1.8 工作票 (Equ_JobTicket) 64 3.5.1.9 工作票安全措施表 (Equ_JTSMethod) 68 3.5.1.10 工作票工作人员 (Equ_Worker) 69 3.5.1.11 工作票流程表 (Equ_JTFlowe) 69 3.5.1.12 工作票延期记录表 (Equ_JTAdjourn) 70 3.5.1.13 合同签定记录表 (Equ_CRecord) 70 3.5.1.14 检修工艺卡表 (Equ_CTCard) 73 3.5.1.15 检修工艺卡工序表 (Equ_CTIndex) 73 3.5.1.16 检修验收记录表 (Equ_CAccept) 74 3.5.1.17 检修质量验收表 (Equ_CTDetailed) 75 3.5.1.18 科室月度工作考核表 (Equ_DMCheck) 75 3.5.1.19 科室月度考核明细表 (Equ_DMCDetailed) 75 3.5.1.20 零星用工申请表 (Equ_FRequest) 76 3.5.1.21 密封点表 (Equ_SealSpot) 77 3.5.1.22 年度春检/小修计划表 (Equ_YPlan) 78 3.5.1.23 年度春检/小修计划明细表 (Equ_YPDetailed) 79 3.5.1.24 年检修计划表 (Equ_YVerification) 79 3.5.1.25 年检修计划明细表 (Equ_YVDetailed) 80 3.5.1.26 日常泄漏登记表 (Equ_Leakage) 80 3.5.1.27 设备报废申请表 (Equ_ReqDisused) 81 3.5.1.28 设备检修记录表 (Equ_CheckRecord) 83 3.5.1.29 设备检修申请表 (Equ_ECRequest) 84 3.5.1.30 设备检修申请明细表 (Equ_ECRDetai) 84 3.5.1.31 设备鉴定(台帐)表 (Equ_EquAppraise) 85 3.5.1.32 设备缺陷登记表 (Equ_Defect) 86 3.5.1.33 设备异动申请表 (Equ_Move) 89 3.5.1.34 设备异动申请审批表 (Equ_MoveAudit) 89 3.5.1.35 小修/春检计划明细表 (Equ_LCPDetailed) 89 3.5.1.36 小修/春检消耗材料表 (Equ_ConsumMaterial) 90 3.5.1.37 小修用工表 (Equ_LCFarmer) 90 3.5.1.38 验收试验表 (Equ_AExp) 90 3.5.1.39 月度分场设备管理工作考核表 (Equ_MECheck) 91 3.5.1.40 月度分场设备管理工作考核明细表 (Equ_MECDetailed) 92 3.5.1.41 周检修计划表 (Equ_WVerification) 93 3.5.2 视图 94 3.5.2.1 春检小修计划视图 (V_Equ_LCPlan) 94 3.5.2.2 设备检索视图 (V_Base_Equipment) 94 3.5.3 存储过程 95 3.5.4 函数 95 3.5.5 包 95 3.6 运行管理子模块 96 3.6.1 表 96 3.6.1.1 班组计划管理表 (Pro_WGPlan) 96 3.6.2 视图 96 3.6.2.1 操作票合格率统计视图 (PRO_OPRTICKET) 96 3.6.2.2 生产日报去年同期视图(V_PRO_DRP_LASTYEAR) 97 3.6.3 存储过程 98 3.6.4 函数 98 3.6.5 包 98 3.7 安全监督管理子模块 99 3.7.1 表 99 3.7.1.1 "废气"处理情况表 (Sec_Rep_ExhaustFume) 99 3.7.2 视图 99 3.7.3 存储过程 99 3.7.3.1 pro_getSecStat(两票及安全记录统计) 99 3.7.4 函数 104 3.7.5 包 104 第四章 “数据库”物理设计 105 4.1 “表空间”物理存储参数 105 4.2 数据库系统实体创建SQL规程 105 4.3 数据库SQL规程 105 4.4 表空间SQL规程 105 4.4.1 永久表空间 ERMISDATA01 105 4.4.2 临时表空间 ERMISTEMP 105 4.4.3 索引表空间ERMISIDX 106 4.5 回退段SQL规程 106 4.6 数据库用户实体创建SQL规程 107 4.7 数据库例程创建SQL规程 107 4.8 数据库角色 107 4.9 角色创建SQL规程 107 4.10 角色授权SQL规程 108 4.11 创建用户SQL规程 108 第五章 后台维护手册 109 5.1 ORACLE9i在HP-UX11i下的安装 109 5.1.1 先决条件 109 5.1.1.1 图形终端 109 5.1.1.2 JDK 110 5.1.1.3 /tmp空间 110 一、直接方法: 110 二、间接方法: 111 5.1.1.4 内存 111 5.1.1.5 swap 111 5.1.1.6 OS 补丁 111 5.1.1.7 系统时钟 112 5.1.2 安装步骤 112 5.1.2.1 创建用户与组 112 5.1.2.2 创建oracle 软件安装的挂载点 113 5.1.2.3 为oratab文件创建目录 113 5.1.2.4 配置内核参数 113 5.1.2.5 修改系统Bug 114 5.1.2.6 配置环境变量 114 5.1.2.7 设置umask 115 5.1.2.8 挂载光驱 115 5.2 oracle9i 在hp-ux11i下的维护 122 5.2.1 ERMIS数据库的备份 122 5.2.1.1 逻辑备份(exp/imp)方法 122 5.2.1.2 RMAN备份 124 第六章 项目总结报告 126 附录 127 A. 数据库服务器硬件配置清单 127 B. 系统中所有表的数据量估清单 127 C. 系统中的SQL查询频率估清单 127
什么是天路CRM? 天路CRM是天路软件研发团队经过不断的技术研究和市场调查后,针对企业经营管理中遇到的类如:资金节省,加速研发,规避研发风险,提前市场运做,掌握客户资源,把握市场机会等等关系到企业生存命脉的诸多问题所开发的以客户资源管理和市场销售为主体,以经营决策分析和市场机会分析为核心的新一代CRM客户关系管理系统。 天路CRM概述 天路CRM是采用全球最新,最成熟的JAVA/J2EE平台开发的客户关系管理系统,采用B/S(浏览器/服务器)模式,可以在局域网和国际互连网环境中运行,具有极佳的开放性,移植性,可扩展性,便于二次开发。 天路CRM技术优势 1. 采用J2EE平台开发 A.系统平台无关性 可以运行在任何平台环境中 B.基于组件开发 已经开发出的组件可以任意的移植 C.功能强大 结合市场需求精髓,适用性好,安全,稳定 D.移植性好 可以任意的移植到其他平台上,无须再次开发 E.节省成本 采用开源技术及数据库系统,性能突出,节省资金 2. 可以运行的操作平台 UNIX,LINUX,WINDOWS,NT 3. 可用的应用服务器 JBOSS,WEBLOGIC,EA SERVER,WEBSPHERE 4. 多种数据库可供选择 ORACLE,SYBASE,MS SQL SERVER,MY SQL,DB2 5. 快速二次开发,系统结构优化 采用先进技术开发框架,能够迅速搭建新的功能模块,优化业务流程。 6. B/S(浏览器/服务器)模式应用 A. 全面支持INTRANET/INTERNET B. 支持异地远程登陆,使用。 C. 集中管理,提高工作效率 D. 升级维护方便,节约系统维护成本. 天路CRM功能简介 客户管理 天路CRM客户关系管理系统以客户为中心,基于完整客户生命周期的发生、发展过程,采用"一对一营销"和"精细营销"的模式量化管理企业市场、销售及服务过程,实现员工、业务部门、分支机构及合作伙伴的协同工作,建立企业科学的知识管理、价管理及决策支持体系,帮助企业更好的获取客户、保有客户及提升客户价,从而全面提升企业竞争能力和盈利能力。 全方位客户接触中心 天路CRM支持全方位的客户接触方式,如: Web、Email、手机短信、信函、传真、人工电话、自动语音等,可设置相应模版,自动完成批量的客户沟通。帮助企业建立快速、多渠道的客户沟通、交易平台,及时了解客户需求、提供有效服务。 多业务模式的差异化管理 企业的不同业务有不同的业务规则,如:业务组织与权限、客户描述、销售与服务流程等存在差异。 天路CRM满足企业多区域、多业务的矩阵式管理,支持信息的控制与共享。 客户销售机会管理 天路CRM系统可以分类管理客户的销售机会,如市场活动产生的销售机会、客户反馈带来的销售机会、系统根据客户购买特征自动挖掘产生的销售机会等多种销售机会,做到实时查询、跟踪,帮助企业及时抓住商机,扩大对客户和代理的销售,提高市场占有率。 客户分析 根据著名的帕雷托分布理论,80%的利润往往来自20%的客户。所以企业需要识别出自己的价客户,并给予相应的重视。天路CRM的价客户分析功能可以根据客户各种信息分析客户价,如交易额排行、利润排行、退货排行、价客户分析、价上升客户分析、价下降客户分析、问题客户分析信息等。找出对企业价较大的客户群,为企业采取有针对性的客户服务政策提供了支持。 销售管理 销售计划管理 管理企业各部门、各员工、各代理经销商的销售计划,可进行实时分析计划完成情况。 销售机会管理 销售机会是企业销售过程的起点。系统可管理企业的所有潜在客户及可能的销售机会,实施进行查询、跟踪,帮助企业及时抓住商机,扩大对客户和代理的销售,提高市场占有率。 销售预测 天路CRM系统提供全面的销售分析,帮助企业对销售状况、销售构成、前期比较、丢单进行科学的分析,销售状况分析可以帮助企业对一定时间范围内的客户、合作伙伴或销售额、销售量和利润采用不同的分析方法得出销售趋势和构成分布。前期比较分析可以帮助企业得出当前销售业绩与上期或去年同期销售业绩的比较,协助企业分析销售业绩变化的内部构成原因。丢单分析可以帮助企业得出在一定时间范围内销售任务失败的原因构成分析,协助企业寻找销售丢单的主要因素,从而针对性地改进销售方式,提高市场竞争力。 销售进程管理 销售进程主要管理销售活动情况,记录销售主题/对象/内容/广告或宣传品/费用/预、任务状态、任务提醒、开始(结束)时地等。 销售预期管理 进展到不同阶段的销售任务其成功率不同,每个销售任务的销售预期不同,系统可自动根据不同状态相对应的成功率,把所有销售任务按照状态进行排行,预测出未来在一段时间以内的 销售额。利用销售漏斗可以清晰的显示出企业当前销售业务在各阶段的分布情况,以及各阶段的销售期望。这为企业的管理者进行企业资源的分布调整、工作重点变更等决策提供了依据。 订单管理 按计划有效地执行订单对于企业来说非常重,天路CRM系统支持订单执行计划管理,通过制定订单执行计划,可以帮助企业进行各种复杂订单处理,如处理分期收款、分批供货、催款、出库等,从而使企业能够对订单进行有序管理,方便企业有步骤、有计划的完成订单执行工作。 订单执行过程管理 天路CRM系统可以全程监控订单执行过程,如订单签订、订单审核以及出库、发货、验收、收款等,全面记录每个过程的执行情况,如执行人、数量、金额等信息,帮助企业严格控制每笔业务订单的执行条件及执行结果,降低企业风险。 订单查询统计 天路CRM系统提供全面的订单查询统计,支持根据时间、金额、产品、客户、业务员、摘要等条件进行查询统计,帮助企业方便快捷的管理订单。 库存管理 天路CRM系统支持全面的存货分析,帮助企业对库龄、超储短缺、存货周转率等内容进行分析,对企业控制存货以及做出相应的决策有着重要的意义。 报表管理 在天路CRM里,采用了多维的报表实现形式,客户可以自由定义所需要的复杂报表,不再是依靠CRM系统提供商提供的简单固定报表了,通过报表,可以为企业提供不同方面的决策分析。作为老总,每天一登陆系统,就可以看到排名前五位的机会都有哪些,是谁负责的,前五个收入最多的产品是什么产品,有没有投诉产品,什么市场活动带来的客户最多等等非常直观的数据展示。 “天路CRM”的报表模块,能够提供多种模式的信息归类和分析,自动生成需要的相关数据,只需一个点击既可汇总所有公司以往的经营业绩,并且可以按照商业定律深层次的分析公司的销售状况。方便公司人员简单而有效的分析数据和决策方向。同时也避免了公司人员把大量精力放在报表的汇总和制作上。 权限管理 在“天路CRM”系统里,所有的数据和操作流程都按角色权限来管理,有新的员工只要分配给他一个相应的角色,就能迅速的接受工作和原有的数据和流程,彼此间也可以通过权限共享来互相学习和交流工作经验。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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