这个问题如果你一定构造一个每天库存的VIEW的话,应该有一个日期的驱动表,如下:
CREATE TABLE STOCK_DATE
(STOCK_DATE DATE);
该表中保存了所有需要统计的日期然后,就可以构造VIEW了:
SELECT X.STOCK_DATE, Y.COMPANY, Y.PRODUCT,
SUM(INBOUND_QTY)-SUM(OUTBOUND_QTY) STOCK_QTY
FROM STOCK_DATE X, TABLE1 Y
WHERE X.STOCK_DATE >= Y.STOCK_DATE
GROUP BY X.STOCK_DATE, Y.COMPANY, Y.PRODUCT;或者如果你只要查找某一天的库存的话,那就更简单了
SELECT MYDATE, COMPANY, PRODUCT --MYDATE为常量
SUM(INBOUND_QTY)-SUM(OUTBOUND_QTY) STOCK_QTY
FROM TABLE1
WHERE STOCK_DATE <= MYDATE;
CREATE TABLE STOCK_DATE
(STOCK_DATE DATE);
该表中保存了所有需要统计的日期然后,就可以构造VIEW了:
SELECT X.STOCK_DATE, Y.COMPANY, Y.PRODUCT,
SUM(INBOUND_QTY)-SUM(OUTBOUND_QTY) STOCK_QTY
FROM STOCK_DATE X, TABLE1 Y
WHERE X.STOCK_DATE >= Y.STOCK_DATE
GROUP BY X.STOCK_DATE, Y.COMPANY, Y.PRODUCT;或者如果你只要查找某一天的库存的话,那就更简单了
SELECT MYDATE, COMPANY, PRODUCT --MYDATE为常量
SUM(INBOUND_QTY)-SUM(OUTBOUND_QTY) STOCK_QTY
FROM TABLE1
WHERE STOCK_DATE <= MYDATE;
(a?b:c)
table1 group by 日期, 作业公司, 货种
select * from view1 where 加上日期判断条件即可。
欢迎大家继续讨论这个典型进—销—存的模型!
即一个公司一个基本表(日期,货种,进港,出港)这样的话,只要进行货种的单条件判断,同时为了统计每天库存情况,最好先做个日期自增长的时间表。欢迎大家继续讨论。