Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- gr_name,
- point_name,
- meter_type_name,
- meter_class,
- meter_number,
- energy_direction,
- SUM(this_month) this_month,
- SUM(prev_month) prev_month,
- SUM(measured_by_meter) measured_by_meter
- FROM (
- SELECT DISTINCT
- rp_ar_for_gr.gr_name,
- rp_ar_for_gr.point_name,
- st_mou.meter_type_name,
- st_mou.meter_class,
- st_mou.meter_number,
- CASE WHEN rp_ar_for_gr.ml_id IN (381, 2097) THEN 'APLUS' WHEN rp_ar_for_gr.ml_id IN (382, 2106) THEN 'AMINUS' END energy_direction,
- CASE WHEN rp_ar_for_gr.da = trunc(to_date(:DA), 'mm') THEN (CASE WHEN ml_id IN (2097, 2106) THEN rp_ar_for_gr.val END) END this_month,
- CASE WHEN rp_ar_for_gr.da = add_months(trunc(to_date(:DA), 'mm'), -1) THEN (CASE WHEN ml_id IN (2097, 2106) THEN rp_ar_for_gr.val END) END prev_month,
- CASE WHEN rp_ar_for_gr.da = add_months(trunc(to_date(:DA), 'mm'), -1) THEN (CASE WHEN ml_id IN (381, 382) THEN rp_ar_for_gr.val END) END measured_by_meter
- FROM
- rp_ar_for_gr
- --LEFT JOIN st_grp ON st_grp.point_id = rp_ar_for_gr.point_id
- LEFT JOIN st_mou ON st_mou.point_id = rp_ar_for_gr.point_id
- WHERE
- rp_ar_for_gr.ml_id IN (381, 382, 2097, 2106) AND
- rp_ar_for_gr.da IN (trunc(to_date(:DA), 'mm'), add_months(trunc(to_date(:DA), 'mm'), -1)) AND
- rp_ar_for_gr.gr_id = to_number(:GR_ID)
- )
- GROUP BY
- gr_name,
- point_name,
- meter_type_name,
- meter_class,
- meter_number,
- energy_direction
- ORDER BY
- point_name,
- energy_direction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement