Advertisement
machalda

Untitled

Nov 5th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. SELECT
  2. main_query.id_segment,
  3. AVG(main_query.fix_sum_m1) AS fix_sum_m1,
  4. AVG(main_query.fix_sum_m2) AS fix_sum_m2,
  5. AVG(main_query.fix_sum_m3) AS fix_sum_m3,
  6. AVG(main_query.delta_sum_m1) AS delta_sum_m1,
  7. AVG(main_query.delta_sum_m2) AS delta_sum_m2,
  8. AVG(main_query.delta_sum_m3) AS delta_sum_m3,
  9. AVG(main_query.hw_sum_m1) AS hw_sum_m1,
  10. AVG(main_query.hw_sum_m2) AS hw_sum_m2,
  11. AVG(main_query.hw_sum_m3) AS hw_sum_m3,
  12. AVG(main_query.kk_abs_sum_m1) AS kk_abs_sum_m1,
  13. AVG(main_query.kk_abs_sum_m2) AS kk_abs_sum_m2,
  14. AVG(main_query.kk_abs_sum_m3) AS kk_abs_sum_m3,
  15. AVG(main_query.kk_mtm_sum_m1) AS kk_mtm_sum_m1,
  16. AVG(main_query.kk_mtm_sum_m2) AS kk_mtm_sum_m2,
  17. AVG(main_query.kk_mtm_sum_m3) AS kk_mtm_sum_m3
  18. from
  19. (select
  20. jq2.id_segment,
  21. COALESCE(sum(CASE WHEN data_type = 'fix' and contest_data.contest_month = 1 THEN price END) / coalesce(MIN(headcount_m1), 1), 0) as fix_sum_m1,
  22. COALESCE(sum(CASE WHEN data_type = 'fix' and contest_data.contest_month = 2 THEN price END) / coalesce(MIN(headcount_m2), 1), 0) as fix_sum_m2,
  23. COALESCE(sum(CASE WHEN data_type = 'fix' and contest_data.contest_month = 3 THEN price END) / coalesce(MIN(headcount_m3), 1), 0) as fix_sum_m3,
  24. COALESCE(sum(CASE WHEN data_type = 'delta' and contest_data.contest_month = 1 THEN price END) / coalesce(MIN(headcount_m1), 1), 0) as delta_sum_m1,
  25. COALESCE(sum(CASE WHEN data_type = 'delta' and contest_data.contest_month = 2 THEN price END) / coalesce(MIN(headcount_m2), 1), 0) as delta_sum_m2,
  26. COALESCE(sum(CASE WHEN data_type = 'delta' and contest_data.contest_month = 3 THEN price END) / coalesce(MIN(headcount_m3), 1), 0) as delta_sum_m3,
  27. COALESCE(sum(CASE WHEN data_type = 'hw' and contest_data.contest_month = 1 and contest_sap.id_contest_sap is not null THEN (CASE WHEN price < 4949 or po = '800790' THEN PRICE ELSE price * 5 END) END) / coalesce(MIN(headcount_m1), 1), 0) as hw_sum_m1,
  28. COALESCE(sum(CASE WHEN data_type = 'hw' and contest_data.contest_month = 2 and contest_sap.id_contest_sap is not null THEN (CASE WHEN price < 4949 or po = '800790' THEN PRICE ELSE price * 5 END) END) / coalesce(MIN(headcount_m2), 1), 0) as hw_sum_m2,
  29. COALESCE(sum(CASE WHEN data_type = 'hw' and contest_data.contest_month = 3 and contest_sap.id_contest_sap is not null THEN (CASE WHEN price < 4949 or po = '800790' THEN PRICE ELSE price * 5 END) END) / coalesce(MIN(headcount_m3), 1), 0) as hw_sum_m3,
  30. COALESCE(sum(CASE WHEN data_type = 'kk_abs' and contest_data.contest_month = 1 THEN price END) / coalesce(MIN(headcount_m1), 1), 0) as kk_abs_sum_m1,
  31. COALESCE(sum(CASE WHEN data_type = 'kk_abs' and contest_data.contest_month = 2 THEN price END) / coalesce(MIN(headcount_m3), 1), 0) as kk_abs_sum_m2,
  32. COALESCE(sum(CASE WHEN data_type = 'kk_abs' and contest_data.contest_month = 3 THEN price END) / coalesce(MIN(headcount_m1), 1), 0) as kk_abs_sum_m3,
  33. COALESCE(sum(CASE WHEN data_type = 'kk_mtm' and contest_data.contest_month = 1 THEN price END) / coalesce(MIN(headcount_m1), 1), 0) as kk_mtm_sum_m1,
  34. COALESCE(sum(CASE WHEN data_type = 'kk_mtm' and contest_data.contest_month = 2 THEN price END) / coalesce(MIN(headcount_m3), 1), 0) as kk_mtm_sum_m2,
  35. COALESCE(sum(CASE WHEN data_type = 'kk_mtm' and contest_data.contest_month = 3 THEN price END) / coalesce(MIN(headcount_m1), 1), 0) as kk_mtm_sum_m3
  36. from contest_data
  37. left join contest_sap on contest_data.contest_month = contest_sap.contest_month and contest_data.po = contest_sap.sap_code
  38. left join (
  39. select
  40. MIN(id_segment) as id_segment,
  41. sum(CASE WHEN contest_headcount.contest_month = 1 THEN headcount END) as headcount_m1,
  42. sum(CASE WHEN contest_headcount.contest_month = 2 THEN headcount END) as headcount_m2,
  43. sum(CASE WHEN contest_headcount.contest_month = 3 THEN headcount END) as headcount_m3,
  44. id_outlet_team
  45. from contest_microsegment
  46. left join contest_headcount using(id_outlet_team)
  47. WHERE segment_type = 'jam'
  48. group by id_outlet_team
  49. ) jq2 using(id_outlet_team)
  50. where id_channels IN (1, 2)
  51. and id_segment is not null
  52. group by jq2.id_segment, id_outlet_team) main_query
  53. group by id_segment
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement