概述
create table CUX_ONHAND
(
item_code
VARCHAR2(30),
subinventory
VARCHAR2(30),
transaction_qty NUMBER
);
create table CUX_TRANSACTION
(
item_code
VARCHAR2(30),
subinventory
VARCHAR2(30),
transaction_date DATE,
transaction_qty
NUMBER
);
1.计算2016年10月1日0点0分0秒现有量,数量为0的不显示,显示字段:物料、仓库、数量
2.计算不同仓库的现有量,显示字段:物料、仓库A数量、仓库B数量、其他仓库数量
1
SELECT tt.item_code,
tt.subinventory,
SUM(tt.transaction_qty) transaction_qty
FROM (SELECT o.item_code, o.subinventory, o.transaction_qty
FROM cux_onhand o
UNION ALL
SELECT t.item_code,
t.subinventory,
transaction_qty * (-1) transaction_qty
FROM cux_transaction t
WHERE t.transaction_date >=
to_date('2016-10-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) tt
GROUP BY tt.item_code, tt.subinventory
HAVING SUM(tt.transaction_qty) > 0
2
SELECT item_code,
SUM(a.a_qty),
SUM(a.b_qty),
SUM(a.o_qty)
FROM (SELECT t.item_code,
decode(t.subinventory,
'A',
t.transaction_qty,
0) a_qty,
decode(t.subinventory,
'B',
t.transaction_qty,
0) b_qty,
decode(t.subinventory,
'A',
0,
'B',
0,
t.transaction_qty) o_qty
FROM cux_onhand t) a
GROUP BY a.item_code
最后
以上就是义气月亮为你收集整理的Oracle查询过去一个时间点的库存的全部内容,希望文章能够帮你解决Oracle查询过去一个时间点的库存所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复