oracle先进先出法,怎样能过SQL计算先进先出库龄分析?
记得提供建表脚本和测试数据:
http://www.itpub.net/thread-1348543-1-1.html
create table t_deposit
(
name varchar2(10),
amount number,
d_date date
);
with t as (select name, amount, trunc(sysdate-d_date) days from t_deposit)
select name,
sum(d0to30) as d0to30,
sum(d30to90) as d30to90,
sum(d90to120) as d90to120,
sum(d120to0) as d120to0
from
(
select name,
case when days<=30 then amount else 0 end as d0to30,
case when days>30 and days <=90 then amount else 0 end as d30to90,
case when days>90 and days <=120 then amount else 0 end as d90to120,
case when days>120 then amount else 0 end as d120to0
from t
)group by name;
insert into t_deposit (d_date, name, amount)
values (to_date('2011-01-10','YYYY-MM-DD'), 'A', 100);
insert into t_deposit(d_date, name, amount)
values (to_date('2011-02-18','YYYY-MM-DD'), 'A', 200);
insert into t_deposit(d_date, name, amount)
values (to_date('2011-03-18','YYYY-MM-DD'), 'A', 200);
insert into t_deposit(d_date, name, amount)
values (to_date('2011-04-18','YYYY-MM-DD'), 'A', 200);
insert into t_deposit(d_date, name, amount)
values (to_date('2011-04-30','YYYY-MM-DD'), 'A', 280);
with t as (select name, amount, trunc(sysdate-d_date) days from t_deposit)
select name,
sum(d0to30) as d0to30,
sum(d30to90) as d30to90,
sum(d90to120) as d90to120,
sum(d120to0) as d120to0
from
(
select name,
case when days<=30 then amount else 0 end as d0to30,
case when days>30 and days <=90 then amount else 0 end as d30to90,
case when days>90 and days <=120 then amount else 0 end as d90to120,
case when days>120 then amount else 0 end as d120to0
from t
)group by name;
[本帖最后由 guostong 于 2011-7-15 05:25 编辑]
oracle先进先出法,怎样能过SQL计算先进先出库龄分析?相关推荐
- 库龄分析-先进先出法
先过先出法在很多的企业都非常试用,而基于企业的管理能力与实际业务数据中的不完整性,会造成实际物料的出入库情况是无序的.而管理者需要看到一定期间的物料库龄,特别是对于A,B类物料的关注情况.这样就需要I ...
- 用友U8物料最后一次出入库日期及计算实际库龄
--物料采购期初入库日期 ALTER VIEW V_Quick_PoQc WITH ENCRYPTION AS SELECT Temp.cInvCode, Temp.cWhCode, ...
- oracle 求一年多少天,SQL 计算一年有多少天
SQL 计算一年有多少天,计算当前年份有多少天. SQL 计算一年有多少天 问题描述 计算当前年份有多少天. SQL 计算一年有多少天 解决方案 计算当前年份有多少天,等同于计算下一年的第一天和当前年 ...
- 使用SQL 计算一组数据的峰度、偏度 公式依据excel的KURT函数和SKEW函数 Oracle 数据库
使用SQL 计算一组数据的峰度.偏度 公式依据excel的KURT函数和SKEW函数 因为工作原因,要把excel的KURT和SKEW函数在Oracle实现出来并统计,在网上找了半天没有答案..只能自 ...
- SQL 先进先出的库龄计算
题库信息参考:https://bbs.csdn.net/topics/60035400 库存信息: 现有一表记录产品进出库 product_id(产品代码) inoutdate(出入库日期) ...
- oracle中怎么用累计,oracle实现累加,累计百分比计算
最近做数据分析,需要用到累加功能,发现强大的oracle还真有,用over(order by field) 例子: 数据表中最后一列就是累加的效果 累加sql: select t.acc_pedal_ ...
- Oracle数据库使用Analyze提升sql性能
Oracle数据库使用Analyze提升sql性能 如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会.假设你创建了一张拥有100万条记录的临 ...
- oracle执行脚本顺序执行吗,【ORACLE】记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 - 不及格的飞鱼...
记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 问题现象: STARiBOSS5.8.1R2版本中,河北对帐JOB执行时,无法生成发票对帐文件. 首先,Quartz表达式培植的启动时间为 ...
- sql计算留存_SQL无所不能:DBA宝妈宝爸系列分享
原文链接:https://www.modb.pro/db/22315 目前程序从功能上其实已经完全满足客户(当然我这里的客户都是指媳妇儿)需求,具体可参考: 使用SQL计算宝宝每次吃奶的时间间隔 - ...
最新文章
- Mocha NTA基于单采集器实现的多种流协议分析
- Verilog 中的移位(算术移位, 逻辑移位, 循环移位)
- Docker网络解决方案 - Calico部署记录
- Safari调试iOS应用
- Kafka设计解析(四):Kafka Consumer解析--转
- Linux下网络流量实时监控工具大全
- 资源集 - 收藏集 - 掘金
- drawitem设置指定行的背景颜色_Java 为 Excel 中的行设置交替背景色
- canvas笔记-lineJoin和miterLimit的使用
- WCF服务编程设计规范(9):中文、中英文对照、英文版资料共享下载
- hibernate 根据用户名获取用户对象_Mybatis 和 Hibernate 持久层框架之间的区别是啥?...
- mac安装ElasticSearch
- MySQL数据库企业级应用实践(主从复制)
- 袁玉玮:简介人工智能在基金界的应用现状(四)
- 用计算机表白教程,抖音短视频vbs表白代码使用教程
- JS小图切换大图轮播代码
- 詹森不等式的积分形式
- golang接口与反射剖析
- E4A易安卓Apost提交文本合并编码相关
- 【渝粤题库】广东开放大学 标准化专业英语 形成性考核