Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.82 KB | None | 0 0
  1. WITH t AS (SELECT
  2. ROW_NUMBER() OVER (ORDER BY rname) AS paging,
  3.  q.* FROM
  4. (SELECT MIN(d.id) AS id, mr.id AS mreg_id, MIN(mr.name) AS mr_name, MIN(d.reg_id) AS reg_id, MIN(d.tariff_id) AS tariff_id, MIN(f.name) AS tariff_name, MIN(d.office_storage) AS office_storage, MIN(d.dealer_storage) AS dealer_storage,
  5. MIN(d.tech_storage) AS tech_storage, rs.id AS remains_id, rs.status_id, MIN(r.name) rname, rs.report_week, rs.report_year
  6. FROM usim_remains_details d
  7. JOIN usim_remains rs ON d.remain_id = rs.id
  8. JOIN usim_region r ON d.reg_id = r.id
  9. JOIN usim_macro_region mr ON r.mreg_id = mr.id
  10. JOIN usim_tariff f ON d.tariff_id = f.id
  11. GROUP BY mr.id, rs.id, rs.status_id, rs.report_week, rs.report_year,
  12.  
  13. CASE WHEN rs.status_id <> 2 THEN 2 ELSE d.id END) q
  14.  
  15. )
  16. SELECT * FROM t WHERE paging BETWEEN 1 AND 200
  17. ORDER BY paging;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement