hi, I have a sp .It is work fine but I think it could be written more efficient but i don't know how
any ideas
Code:
select FlightDir,sum(day_event_mon) day_event_mon,sum(night_event_mon)night_event_mon
from
(select FlightDir,
sum(case when days = 'day'then 1 else 0 end ) day_event_mon,
sum(case when days = 'night'then 1 else 0 end ) night_event_mon
from
(select (case when runwayname like '34%' then 'NInitialDepartures'
when runwayname like '16%' then 'SInitialDepartures'end)FlightDir,
(case when (to_number(to_char(actualtime,'hh24mi'))<=2200 and to_number(to_char(actualtime,'hh24mi'))>=600) then 'day' else
'night'end) days
from oper o,ganout g
where adflag ='D'and
o.opnum = g.opnum and
dir = 1 )
group by days ,FlightDir
union
select gatename as Flightdir,
sum(case when days = 'day'then 1 else 0 end ) day_event_mon,
sum(case when days = 'night'then 1 else 0 end ) night_event_mon
from
(select gatename,
(case when (to_number(to_char(actualtime,'hh24mi'))<=2200 and to_number(to_char(actualtime,'hh24mi'))>=600) then 'day' else
'night'end) days
from oper o,ganout g
where adflag in ('A','D')and
o.opnum = g.opnum and
dir = 1 and gatename in('PS Arrival East','PS Arrival West','PSDeptsouth','PSdeptnorth','ElliotBayDept'))
group by days,gatename)e
group by FlightDir