我数据库中有10个字段吧,表如下:filed1,filed2,filed,3,filed4,filed5,filed6,filed7,filed8,year,month这样的。我想显示成这样的:
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 这几个字段是上上个月的(这三个字段是从新起的名字)必须有一个名字,谢谢! ̄ ̄
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 这几个字段是上上个月的(这三个字段是从新起的名字)必须有一个名字,谢谢! ̄ ̄
解决方案 »
- imp导入数据问题!!!!
- 请教一个数据中显示列名的问题
- 执行select count(EntID) 时间很长 数据100W
- windows系统中oralce安装失败,请问如何卸载已经安装的东西?
- SQL高手请进来,比较复杂哦
- 有两三年SQL Server开发使用经验的,学习Oracle大约需要多少的时间,有经验的请进?
- 急,如何在ORACLE 9I 中导入ACCESS里面的数据库的表啊!!!!!
- 高分咨询,oracle初级问题????
- oracle8关于ora-00933问题(急)
- 一个简单的Oracle问题,高手快进来拿分啊
- 这个过程报错说数组错误?但是不知道错在那?请大家指导
- 100分求助一查询问题(做报表时遇到的问题)
如果显示上个月的数据的时候 FILED22这些字段为空吗??
field222是不是就是上上上个月啊?
select * from
(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')