Advertisement
madrahimov

Untitled

May 25th, 2022
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. WITH "applicant_counts" AS (
  2. SELECT
  3. count('applicants.id') AS applicants_count,
  4. calendar_events.id AS calendar_event_id
  5. FROM
  6. "applicants"
  7. INNER JOIN "group_events_applicants" ON "group_events_applicants"."applicant_id" = "applicants"."id"
  8. INNER JOIN "calendar_events" ON "calendar_events"."id" = "group_events_applicants"."calendar_event_id"
  9. WHERE
  10. "applicants"."company_id" = 90
  11. AND(calendar_events.id = group_events_applicants.calendar_event_id)
  12. AND "calendar_events"."company_id" = 90
  13. AND "calendar_events"."archive" = false
  14. AND "calendar_events"."from" >= '2022-05-24 21:00:00'
  15. AND "calendar_events"."from" < '2022-05-25 20:59:59'
  16. AND(calendar_events.calendarable_type = 'GroupEvent'
  17. AND(calendar_events.author_id IN('63408', '74995', '79065', '81034', '63715')
  18. ))
  19.  
  20. GROUP BY
  21. calendar_events.id
  22. )
  23. SELECT
  24. calendar_events.*
  25. FROM ((
  26. SELECT
  27. calendar_events.*,
  28. array_agg(jobs_users.id) AS jobs_users_ids,
  29. array_agg(group_events_users.user_id) AS events_users_ids,
  30. (
  31. SELECT
  32. applicants_count AS participants_counter
  33. FROM
  34. applicant_counts
  35. WHERE
  36. calendar_events.id = applicant_counts.calendar_event_id)
  37. FROM
  38. "calendar_events"
  39. INNER JOIN group_events ON group_events.id = calendar_events.calendarable_id
  40. AND calendar_events.calendarable_type = 'GroupEvent'
  41. LEFT JOIN group_events_jobs ON group_events_jobs.group_event_id = group_events.id
  42. LEFT JOIN jobs ON group_events_jobs.job_id = jobs.id
  43. LEFT JOIN jobs_users ON jobs.id = jobs_users.job_id
  44. AND jobs_users.user_id = 2038
  45. AND jobs_users.deleted_at IS NULL
  46. LEFT JOIN group_events_users ON group_events_users.group_event_id = group_events.id
  47. WHERE
  48. "calendar_events"."company_id" = 90
  49. AND "calendar_events"."archive" = false
  50. AND "calendar_events"."from" >= '2022-05-24 21:00:00'
  51. AND "calendar_events"."from" < '2022-05-25 20:59:59'
  52. AND(calendar_events.calendarable_type = 'GroupEvent'
  53. AND(calendar_events.author_id IN('63408', '74995', '79065', '81034', '63715')
  54. OR group_events.author_id IN('63408', '74995', '79065', '81034', '63715')
  55. OR group_events_users.user_id IN('63408', '74995', '79065', '81034', '63715')))
  56. GROUP BY
  57. calendar_events.id,
  58. calendar_events.text,
  59. calendar_events.from,
  60. calendar_events.to,
  61. calendar_events.kind,
  62. calendar_events.author_id,
  63. calendar_events.company_id,
  64. calendar_events.archive,
  65. calendar_events.calendarable_type,
  66. calendar_events.calendarable_id,
  67. calendar_events.created_at,
  68. calendar_events.updated_at,
  69. calendar_events.locales,
  70. calendar_events.remove_from_dump_at)
  71. UNION ALL (
  72. SELECT
  73. calendar_events.*,
  74. array_agg(jobs_users.id) AS jobs_users_ids,
  75. array_agg(events_users.user_id) AS events_users_ids,
  76. NULL AS participants_counter
  77. FROM
  78. "calendar_events"
  79. INNER JOIN events ON events.id = calendar_events.calendarable_id
  80. AND calendar_events.calendarable_type = 'Event'
  81. LEFT JOIN jobs_users ON events.job_id = jobs_users.job_id
  82. AND jobs_users.user_id = 2038
  83. AND jobs_users.deleted_at IS NULL
  84. LEFT JOIN events_users ON events.id = events_users.event_id
  85. INNER JOIN (
  86. SELECT
  87. "applicants"."id"
  88. FROM
  89. "applicants"
  90. WHERE
  91. "applicants"."company_id" = 90) AS policy_applicants ON events.applicant_id = policy_applicants.id
  92. WHERE
  93. "calendar_events"."company_id" = 90
  94. AND "calendar_events"."archive" = false
  95. AND "calendar_events"."from" >= '2022-05-24 21:00:00'
  96. AND "calendar_events"."from" < '2022-05-25 20:59:59'
  97. AND(calendar_events.calendarable_type = 'Event'
  98. AND(calendar_events.author_id IN('63408', '74995', '79065', '81034', '63715')
  99. OR events_users.user_id IN('63408', '74995', '79065', '81034', '63715')))
  100. GROUP BY
  101. calendar_events.id, calendar_events.text, calendar_events.from, calendar_events.to, calendar_events.kind, calendar_events.author_id, calendar_events.company_id, calendar_events.archive, calendar_events.calendarable_type, calendar_events.calendarable_id, calendar_events.created_at, calendar_events.updated_at, calendar_events.locales, calendar_events.remove_from_dump_at)) AS "calendar_events"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement