Advertisement
Guest User

Untitled

a guest
Mar 21st, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 3.37 KB | None | 0 0
  1. SELECT id, amount, reg_id, reg_name, status_id, description, status_name,
  2.  trigram, mreg_prod_id, order_number, tariff_id, tariff_name, personality, tariff_code, tariff_tech_name,
  3.  vendor_id, vendor_name, hlr_id, hlr_value, profile_id, profile_name, mr_id, mr_name,  auth_alg_name,
  4.  MAX(code_code) AS code_code, MAX(card_type_id) AS card_type_id, MAX(card_type_name) AS card_type_name
  5. FROM (
  6. SELECT pr.id, pr.amount, r.id AS reg_id, r.name AS reg_name, pr.status_id, pr.description, s.name AS status_name
  7. , r.trigram, pm.id AS mreg_prod_id, pm.order_number AS order_number,
  8. tf.id AS tariff_id, tf.name AS tariff_name, tf.personality AS personality, tf.code AS tariff_code, tf.tech_name AS tariff_tech_name,
  9. v.id AS vendor_id, v.name AS vendor_name, hlr.id AS hlr_id, hlr.VALUE AS hlr_value,
  10. p.id AS profile_id, p.name AS profile_name, mr.id AS mr_id, mr.name AS mr_name, cd.code AS code_code,
  11. a.name AS auth_alg_name, d.id AS card_type_id, d.name AS card_type_name, p.code AS profile_code
  12. FROM usim_production_region pr
  13. JOIN usim_region r ON r.id = pr.reg_id
  14. JOIN usim_production_macroregion pm ON pm.id = pr.mreg_prod_id
  15. JOIN usim_status s ON s.id = pr.status_id
  16. JOIN usim_vendor v ON v.id = pm.vendor_id
  17. JOIN usim_profile p ON p.id = pr.profile_id
  18. LEFT JOIN usim_auth_algorythm a ON p.auth_algo_id=a.id
  19. JOIN usim_hlr hlr ON hlr.id = pr.hlr_id
  20. JOIN usim_macro_region mr ON mr.id = pm.mreg_id
  21. JOIN usim_tariff tf ON tf.id = pm.tariff_id
  22. LEFT JOIN usim_code_macro_region cm ON cm.mreg_id = mr.id
  23. LEFT JOIN usim_code cd ON cd.id = cm.code_id AND cd.tariff_id = tf.id AND cd.card_type_id = pm.card_type_id
  24. LEFT JOIN usim_card_type d ON d.id = cd.card_type_id)
  25. GROUP BY id, amount, reg_id, reg_name, status_id, description, status_name,
  26.  trigram, mreg_prod_id, order_number, tariff_id, tariff_name, personality, tariff_code, tariff_tech_name,
  27.  vendor_id, vendor_name, hlr_id, hlr_value, profile_id, profile_name, mr_id, mr_name,  auth_alg_name,
  28.  profile_code;
  29.  
  30.  
  31. WITH t AS (SELECT pr.id, pr.amount, r.id AS reg_id, r.name AS reg_name, pr.status_id, pr.description, s.name AS status_name
  32. , r.trigram, pm.id AS mreg_prod_id, pm.order_number AS order_number,
  33. tf.id AS tariff_id, tf.name AS tariff_name, tf.personality AS personality, tf.code AS tariff_code, tf.tech_name AS tariff_tech_name,
  34. v.id AS vendor_id, v.name AS vendor_name, hlr.id AS hlr_id, hlr.VALUE AS hlr_value,
  35. p.id AS profile_id, p.name AS profile_name, mr.id AS mr_id, mr.name AS mr_name, cd.code AS code_code,
  36. a.name AS auth_alg_name, d.id AS card_type_id, d.name AS card_type_name, p.code AS profile_code
  37. FROM usim_production_region pr
  38. JOIN usim_region r ON r.id = pr.reg_id
  39. JOIN usim_production_macroregion pm ON pm.id = pr.mreg_prod_id
  40. JOIN usim_status s ON s.id = pr.status_id
  41. JOIN usim_vendor v ON v.id = pm.vendor_id
  42. JOIN usim_profile p ON p.id = pr.profile_id
  43. LEFT JOIN usim_auth_algorythm a ON p.auth_algo_id=a.id
  44. JOIN usim_hlr hlr ON hlr.id = pr.hlr_id
  45. JOIN usim_macro_region mr ON mr.id = pm.mreg_id
  46. JOIN usim_tariff tf ON tf.id = pm.tariff_id
  47. LEFT JOIN usim_code_macro_region cm ON cm.mreg_id = mr.id
  48. LEFT JOIN usim_code cd ON cd.id = cm.code_id AND cd.tariff_id = tf.id AND cd.card_type_id = pm.card_type_id
  49. LEFT JOIN usim_card_type d ON d.id = cd.card_type_id
  50. WHERE (pr.status_id IN (35,48,38,55,39,36,37,40,47))
  51. )
  52. SELECT * FROM t WHERE code_code IS NOT NULL
  53. UNION ALL
  54. (SELECT * FROM t WHERE code_code IS NULL AND);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement