select zname, case when zname='月计划厂用电率' then ---
(select to_char(index_value)||'%' from JH.T_YDSCZB where index_name ='厂用电率' and JH.T_YDSCZB.PLAN_YAERMONTH= to_char(sysdate,'yyyy-mm'))
when zname= '月计划发电量' then ---取不到月工作计划指标时,从运行录入表取数
(
nvl ( (select to_char(index_value/10000)||'亿Kwh' from JH.T_YDSCZB where index_name ='月计划发电量'
and JH.T_YDSCZB.PLAN_YAERMONTH= to_char(sysdate,'yyyy-mm')) , zvalue )
)
ELSE
zvalue
end
as zvalue,zdate from web.t_scxxzb where rownum<=12 order by ztype desc,id
case和nvl的配合,主数据有问题时取备用数据,解决了经常漏取数据的问题。