如何形成 日期如 2001-12月之前的 3 个月的销售量(amt)呢?(Oracle)
CREATE TABLE ord_month_report_v (
month_date date,
cause_code varchar2,
TOTAL numeric,
);
如何形成 日期如 2001-12月之前的 3 个月的销售量(amt)呢?
条件如下:
起点日期;2001-12月
统计日期2001-9月,2001-10月,2001-11月
当9月分无销售额(null)
或 9月和10月都无销售额(null)时,令amt=null(或-1);
(3个月都没有销售额的 当然 amt=null(或-1));
只要9月分有销售额 则累加三个月的数量到 amt
假设 9月销售额 为amt1
10月销售额 为amt2
11月销售额 为amt3
最后统计额为 amt
if(amt1==null || (amt1==null && amt2==null) || (amt1==null && amt2==null &&amt3==null)) amt=null;
else if(amt1!=null){
amt=0;
amt2==null?0:amt2;
amt3==null?0:amt3;
amt=amt1+amt2+amt3;}
即得到结果 amt
能不能用1个 SQL 语句得到呢?或者做成一个视图? 大家给小弟看看