Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.55 KB | None | 0 0
  1. SELECT
  2.     gr_name,
  3.     point_name,
  4.     meter_type_name,
  5.     meter_class,
  6.     meter_number,
  7.     energy_direction,
  8.     SUM(this_month) this_month,
  9.     SUM(prev_month) prev_month,
  10.     SUM(measured_by_meter) measured_by_meter
  11. FROM (
  12.     SELECT DISTINCT
  13.         rp_ar_for_gr.gr_name,
  14.         rp_ar_for_gr.point_name,
  15.         st_mou.meter_type_name,
  16.         st_mou.meter_class,
  17.         st_mou.meter_number,
  18.         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,
  19.         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,
  20.         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,
  21.         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
  22.     FROM
  23.         rp_ar_for_gr
  24.     --LEFT JOIN st_grp ON st_grp.point_id = rp_ar_for_gr.point_id
  25.     LEFT JOIN st_mou ON st_mou.point_id = rp_ar_for_gr.point_id
  26.     WHERE
  27.         rp_ar_for_gr.ml_id IN (381, 382, 2097, 2106) AND
  28.         rp_ar_for_gr.da IN (trunc(to_date(:DA), 'mm'), add_months(trunc(to_date(:DA), 'mm'), -1)) AND
  29.         rp_ar_for_gr.gr_id = to_number(:GR_ID)
  30.     )
  31. GROUP BY
  32.     gr_name,
  33.     point_name,
  34.     meter_type_name,
  35.     meter_class,
  36.     meter_number,
  37.     energy_direction
  38. ORDER BY
  39.     point_name,
  40.     energy_direction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement