数据库中有num1,num2,year,month,sum字段想求一复合语句:.... where year=当前年 and month=当前月-1 如果当前是1月份的话:... where year=当前年-1 and month=‘12’<这我已经实现了,最关键的是想还把在这个条件的基础上的月份-1的sum值也一起显示出来,最后的字段应该为:select num1,num2,year,month,sum,sum(当前月-2的值相当于) where ...非常感谢!
调试欢乐多
(select sum from table_name
where year = to_char(add_months(sysdate,-2),'yyyy') and month = to_char(add_months(sysdate,-2),'mm')
)
from table_name
where year = to_char(add_months(sysdate,-1),'yyyy') and month = to_char(add_months(sysdate,-1),'mm')
<注:sum2是上上个月的>就是说那个嵌套的我想有个名称
(select num1,num2,year,month,sum,
lag(num1, 1, 0) over(order by year||month ) as pre_num1,
lag(num2, 1, 0) over(order by year||month ) as pre_num2,
lag(year, 1, 0) over(order by year||month ) as pre_year,
lag(month, 1, 0) over(order by year||month ) as pre_month,
lag(sum, 1, 0) over(order by year||month ) as pre_sum
from table_name
where year || month >= to_char(add_months(sysdate,-2),'yyyymm')
and year || month <= to_char(add_months(sysdate,-1),'yyyymm')
)
where year || month = to_char(add_months(sysdate,-1),'yyyymm')
where year = to_char(add_months(sysdate,-1),'yyyy') and month = to_char(add_months(sysdate,-1),'mm')
select filed1,filed2,filed3,filed4,file,5,filed6,file7,filed8,filed22,filed44,filed66 where...其中select filed1,filed2,filed3,filed4,file,5,filed6,file7,filed8这几个字段是上个月的。filed22,filed44,filed66 这几个字段是上上个月的(这三个字段是从新起的名字)必须有一个名字,谢谢! ̄ ̄
dy_dcsw,lj_dcsw,dy_zr,lj_zr,dy_zr_qz,lj_zr_qz,dy_zc,lj_zc,dy_sdl,lj_sdl,dy_sdl_qz,lj_sdl_qz,dy_xsdl,lj_xsdl,dy_xsl,lj_xsl,dy_xsl_ys,lj_xsl_ys上面的要都显示(上个月的),再加上下面的。这是要显示上上个月的字段:
lj_dcsw,lj_zr,lj_zr_qz,lj_zc,lj_sdl,lj_sdl_qz,lj_xsdl,lj_xsl,lj_xsl_ys表名:分压线损表 可以再给开一给你加分啊。万分感谢
(select dy_dcsw,lj_dcsw,dy_zr,lj_zr,dy_zr_qz,lj_zr_qz,dy_zc,
j_zc,dy_sdl,lj_sdl,dy_sdl_qz,lj_sdl_qz,dy_xsdl,lj_xsdl,
dy_xsl,lj_xsl,dy_xsl_ys,lj_xsl_ys,
--要求显示上个月的字段
lag(lj_dcsw , 1, 0) over(order by year||month) as lj_dcsw1 ,
lag(lj_zr , 1, 0) over(order by year||month) as lj_zr1 ,
lag(lj_zr_qz , 1, 0) over(order by year||month) as lj_zr_qz1 ,
lag(lj_zc , 1, 0) over(order by year||month) as lj_zc1 ,
lag(lj_sdl , 1, 0) over(order by year||month) as lj_sdl1 ,
lag(lj_sdl_qz, 1, 0) over(order by year||month) as lj_sdl_qz1,
lag(lj_xsdl , 1, 0) over(order by year||month) as lj_xsdl1 ,
lag(lj_xsl , 1, 0) over(order by year||month) as lj_xsl1 ,
lag(lj_xsl_ys, 1, 0) over(order by year||month) as lj_xsl_ys1
--要求显示上上个月的字段
from table_name
where year || month >= to_char(add_months(sysdate,-2),'yyyymm')
and year || month <= to_char(add_months(sysdate,-1),'yyyymm')
)
where year || month = to_char(add_months(sysdate,-1),'yyyymm')
where year = to_char(add_months(sysdate,-1),'yyyy') and month = to_char(add_months(sysdate,-1),'mm')