--查出所有现金中心的单位ID
with
AllUnit
as(
select t.ORGANIZATIONID orgid,t.parentid
from CDMS_ORGANIZATION t where T.CATEGORY = 4
start with t.organizationid = '05e85693-14b0-4582-8063-8fbde85371f0'
connect by t.parentid = PRIOR t.organizationid),

N_instock
as(
-- instock 完整money,残损money,字段:入库单位ID,mone1,money2
select inunitid,(baint+bunint+intaintNum+baoInt) intMoney,(baDMA+BUNDMA+baoDMA) DMAMoney
from(
select tba.INUNITID,
NVL((case ba.ISDAMAGE when 0 then 100*ba.valuta end),0) as BaInt,
NVL((case ba.ISDAMAGE when 1 then 100*ba.valuta end),0) as BaDmA,
NVL((case bun.ISDAMAGE when 0 then 1000*bun.valuta end),0) as BunINT,
NVL((case bun.ISDAMAGE when 1 then 1000*bun.valuta end),0) as BUNDMA,
NVL(inta.COUNTER*inta.VALUTA,0) intaintNUM,NVL(pack.INTACTNUM,0) baoint,
NVL(pack.DAMAGENUM,0) baodma from
(
select it.inunitid,de.barcode,de.UNIT from GZH_INSTOCK it
left join GZH_INSTOCK_DETAIL de on it.BILLID=de.BILLID
--where to_char(it.billdate,'yyyy-MM')='2016-11' and intype='1311'
)tba
left join GZH_BAINFO ba on tba.BARCODE=ba.BARCODE and tba.unit=1
left join GZH_BUNCHINFO bun on tba.BARCODE=bun.BUNCHCODE and tba.unit=2
left join GZH_PACHETINFO pack on tba.barcode=pack.RFIDNO and tba.unit=4
left join GZH_INTACTBOXINFO inta on tba.BARCODE=inta.BARCODE and tba.unit=3
)
)
,
allData
as(
select t.PARENTID,NVL(sum(t1.FLITTINGMONEY),0) outmoney,
NVL(sum(t2.INTMONEY),0) INTMONEY,
NVL(sum(t2.DMAMONEY),0) DMAMONEY from allunit t
left join GZH_outsTOCK t1 on t.orgid=t1.outUNITID
left join N_instock t2 on t.orgid=t2.inUNITID
--where to_char(t1.billdate,'yyyy-MM')='2016-11' and outtype='1321'
group by t.PARENTID
)
,
TFinfo
as
(
select parentid,
decode((select sum(outmoney) from allData),0,0,outmoney/(select sum(outmoney) from allData)) TFscale,
decode((select sum(intmoney) from allData),0,0,intmoney/(select sum(intmoney) from allData)) HLWscale,
decode((select sum(dmamoney) from alldata),0,0,dmamoney/(select sum(dmamoney) from alldata)) HLCscale
from alldata)

select fullname,TFscale 投放占比,HLWscale 回笼完整占比,HLCscale 回笼完整占比
from TFinfo left join cdms_organization
on cdms_organization.organizationid=tfinfo.parentid;

上面的这段sql是尹哥教我的,虽然不是自己写的,但是按照这个思路,我发现我之前是对的,只是对oracle的认识不够,写不出来

今天最主要的是都让我重新的认识了oracle的查询,和我之前学的sql查询的差距还是挺大的,各种各样的结构的选择和各种各样的代码的编写

在计算比例的时候,我们先对数据进行求和,为了不能表中出现空的字符,我们选用了nvl(字段名,0),这是将空的字符串变为O 的语句。

今天我还用了一个很神奇的方法,decode(a,0,0,b/a*100)这个是为了不让除数为0 的时候,使oracle报错,这个让我的语句更快的写完。

我将这两个用法记录下来就是为了让自己能更好的记住这两个词的用法。

今天加上一点,就是我在这个sql中的一个重要的用法case when then end 这个语句

在我们的这个sql中,我们使用这个语句进行了数据的分类统计,实现了我们直接在数据库中的操作,对我们的数据进行了更好的统计。(2016-11-28)

转载于:https://www.cnblogs.com/sun1512/p/6105118.html

oracle中的查询语句(关于出库入库信息表,明细表,把捆包箱表,单位信息表的集中查询)...相关推荐

  1. ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息。

    ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息. 在sqlplus中执行下面语句: select job from emp: 显示结果如下: SQL> se ...

  2. 管易云与金蝶云星空对接集成盘点单查询打通其他出库新增

    管易云与金蝶云星空对接集成盘点单查询打通其他出库新增 接通系统:管易云 管易云是上海管易云计算软件有限公司旗下的专注提供电商企业管理软件服务的品牌,总部位于中国上海张江高科技产业园区.管易云旗下拥有管 ...

  3. oracle表中增加字段 sql语句,ORACLE中通过SQL语句(alter table)来增加、删除、修改字段...

    1.添加字段: alter table  表名  add (字段  字段类型)  [ default  '输入默认值']  [null/not null]  ; 2.添加备注: comment on ...

  4. oracle的insert写法,oracle中的insert语句

    关键字: ORACLE insert into table oracle中的insert语句 在oracle中使用DML语言的insert语句来向表格中插入数据,先介绍每次只能插入一条数据的语法 IN ...

  5. 深入理解和使用Oracle中with as语句以及与增删改查的结合使用

    WITH AS短语,也叫做子查询部分(subquery factoring),可以做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让SQL语句的可读性更高些,也有 ...

  6. oracle的分支语句,Oracle中的分支语句

    Oracle中的分支语句,Oracle条件分支语句:pl/sql中提供了三种分支语句:if-- then, if---then--else,if--then--ifesle,Oracle条 Oracl ...

  7. Oracle中常用的语句

    Oracle中常用的语句 1.创建表的同时创建主键约束: 1)主键无命名:create table student(studentid int primary key not null,student ...

  8. ORACLE中的delete语句

    ORACLE中的delete语句 一.语法 DELETE FROM 表名称 WHERE 列名称 = 值 二.删除某行 "Fred Wilson" 会被删除: DELETE FROM ...

  9. excel表头_如何用Excel制作出库入库表

    有一些工作要求我们制作一个出库入库的记录表格,那么今天这篇文章就教大家如何用Excel制作出库入库表. 首先我们在Excel表格中框出一些表格,作为这个表的整体结构: 然后如图所示,用合并居中按钮调节 ...

  10. Js出库入库数量变化

    前端页面写 获取库存量 因为输入框数text类型 需要转int 库存量:<input type="text" name="kcl"> <scr ...

最新文章

  1. 立体相机开发|几何感知的实例分割
  2. 天天都在说,无服务器计算到底是什么?
  3. selenium中webdriver跳转新页面后定位置新页面的两种方式
  4. Spring框架关于事务处理的API和使用步骤
  5. Objective-C iOS纯代码布局 一堆代码可以放这里!
  6. bzoj 3924 幻想乡战略游戏
  7. easyui combobox支持多选
  8. Spring 与 Hibernate 集成 Transactional设置为只读
  9. 《显微镜下的大明》马伯庸2019年1月新书mobi、epub、PDF资源共享
  10. 1.Android学习之Android项目结构
  11. QT中的.pro文件,以及.pri .prj .prl文件说明
  12. 初探一个0代码开发—iVX平台
  13. Unsupported Modules Detected: Compilation is not supported for following modules: app, library. Unfo
  14. All matches were filtered out by modular filtering for argument: mysql-community-server
  15. 一个C++程序员的学习经历
  16. 计算机网络第七版 谢希仁 3-33答案
  17. 两台设备连接在同一Wi-Fi不能通信问题解决
  18. 【BUG解决】sudo apt-get update 报错 E: The repository ‘http://xxx Release‘ does not have a Release file.
  19. oracle 倒库命令
  20. 三类传感器助力保证无人驾驶安全

热门文章

  1. 用MapReduce实现矩阵乘法
  2. golang单向散列函数
  3. golang中的bufio
  4. 后台技术-JavaWeb项目初识
  5. HanLP二元核心词典详细解析
  6. Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结
  7. Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)...
  8. 由event target引发的关于事件流的一连串思考(二)
  9. C++函数的一些特性
  10. 一步将 p12转为pem