Advertisement
Guest User

Requests

a guest
May 3rd, 2022
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.61 KB | None | 0 0
  1. SELECT
  2. branches.branchname AS "Library",
  3. Sum(Coalesce(requests_placed.Count_reserve_id, 0)) AS "Requests placed last month",
  4. Coalesce(requests_filled.Count_reserve_id, 0) AS "Requests filled last month",
  5. Coalesce(requests_cancelled_from_hold_shelf.Count_reserve_id, 0) AS "Requests cancelled after placement on hold shelf",
  6. Coalesce(requests_cancelled_in_transit.Count_reserve_id, 0) AS "Requests cancelled while in transit",
  7. Coalesce(requests_cancelled_before_pulled.Count_reserve_id, 0) AS "Requests cancelled before an item was found",
  8. Coalesce(requests_cancelled.Count_reserve_id, 0) AS "Requests cancelled total",
  9. Coalesce(requests_expired_unfilled.Count_reserve_id, 0) AS "Requests expired last month",
  10. Sum(Coalesce(requests_placed_staff.Count_reserve_id, 0)) AS "Requests placed by staff",
  11. (Sum(Coalesce(requests_placed.Count_reserve_id, 0)) - Sum(Coalesce(requests_placed_staff.Count_reserve_id, 0))) AS "Requests placed in the OPAC"
  12. FROM
  13. branches LEFT JOIN
  14. (SELECT
  15. reserves.branchcode,
  16. Count(reserves.reserve_id) AS Count_reserve_id
  17. FROM
  18. reserves
  19. WHERE
  20. Year(reserves.reservedate) = Year(Now() - INTERVAL 1 MONTH) AND
  21. Month(reserves.reservedate) = Month(Now() - INTERVAL 1 MONTH)
  22. GROUP BY
  23. reserves.branchcode
  24. UNION
  25. SELECT
  26. old_reserves.branchcode,
  27. Count(old_reserves.reserve_id) AS Count_reserve_id
  28. FROM
  29. old_reserves
  30. WHERE
  31. Month(old_reserves.reservedate) = Month(Now() - INTERVAL 1 MONTH) AND
  32. Year(old_reserves.reservedate) = Year(Now() - INTERVAL 1 MONTH)
  33. GROUP BY
  34. old_reserves.branchcode
  35. ) requests_placed
  36. ON branches.branchcode = requests_placed.branchcode LEFT JOIN
  37. (SELECT
  38. old_reserves.branchcode,
  39. Count(old_reserves.reserve_id) AS Count_reserve_id
  40. FROM
  41. old_reserves JOIN
  42. action_logs ON action_logs.object = old_reserves.reserve_id
  43. WHERE
  44. Month(action_logs.timestamp) = Month(Now() - INTERVAL 1 MONTH) AND
  45. Year(action_logs.timestamp) = Year(Now() - INTERVAL 1 MONTH) AND
  46. old_reserves.found = 'F' AND
  47. action_logs.module = 'HOLDS' AND
  48. action_logs.action LIKE "DEL%"
  49. GROUP BY
  50. old_reserves.branchcode
  51. ) requests_filled
  52. ON branches.branchcode = requests_filled.branchcode LEFT JOIN
  53. (SELECT
  54. old_reserves.branchcode,
  55. Count(old_reserves.reserve_id) AS Count_reserve_id
  56. FROM
  57. old_reserves
  58. WHERE
  59. Month(old_reserves.cancellationdate) = Month(Now() - INTERVAL 1 MONTH) AND
  60. Year(old_reserves.cancellationdate) = Year(Now() - INTERVAL 1 MONTH) AND
  61. (old_reserves.found <> 'F' OR
  62. old_reserves.found IS NULL)
  63. GROUP BY
  64. old_reserves.branchcode
  65. ) requests_cancelled
  66. ON branches.branchcode = requests_cancelled.branchcode LEFT JOIN
  67. (SELECT
  68. old_reserves.branchcode,
  69. Count(old_reserves.reserve_id) AS Count_reserve_id
  70. FROM
  71. old_reserves
  72. WHERE
  73. Month(old_reserves.cancellationdate) = Month(Now() - INTERVAL 1 MONTH) AND
  74. Year(old_reserves.cancellationdate) = Year(Now() - INTERVAL 1 MONTH) AND
  75. old_reserves.found = 'T'
  76. GROUP BY
  77. old_reserves.branchcode
  78. ) requests_cancelled_in_transit
  79. ON branches.branchcode = requests_cancelled_in_transit.branchcode LEFT JOIN
  80. (SELECT
  81. old_reserves.branchcode,
  82. Count(old_reserves.reserve_id) AS Count_reserve_id
  83. FROM
  84. old_reserves
  85. WHERE
  86. Month(old_reserves.cancellationdate) = Month(Now() - INTERVAL 1 MONTH) AND
  87. Year(old_reserves.cancellationdate) = Year(Now() - INTERVAL 1 MONTH) AND
  88. old_reserves.found = 'W'
  89. GROUP BY
  90. old_reserves.branchcode
  91. ) requests_cancelled_from_hold_shelf
  92. ON branches.branchcode = requests_cancelled_from_hold_shelf.branchcode LEFT JOIN
  93. (SELECT
  94. old_reserves.branchcode,
  95. Count(old_reserves.reserve_id) AS Count_reserve_id
  96. FROM
  97. old_reserves
  98. WHERE
  99. Month(old_reserves.cancellationdate) = Month(Now() - INTERVAL 1 MONTH) AND
  100. Year(old_reserves.cancellationdate) = Year(Now() - INTERVAL 1 MONTH) AND
  101. old_reserves.found IS NULL
  102. GROUP BY
  103. old_reserves.branchcode
  104. ) requests_cancelled_before_pulled
  105. ON branches.branchcode = requests_cancelled_before_pulled.branchcode LEFT JOIN
  106. (SELECT
  107. reserves.branchcode,
  108. Count(reserves.reserve_id) AS Count_reserve_id
  109. FROM
  110. reserves JOIN
  111. action_logs ON action_logs.object = reserves.reserve_id
  112. WHERE
  113. Year(reserves.reservedate) = Year(Now() - INTERVAL 1 MONTH) AND
  114. Month(reserves.reservedate) = Month(Now() - INTERVAL 1 MONTH) AND
  115. action_logs.module = 'HOLDS' AND
  116. action_logs.action LIKE 'CREAT%' AND
  117. action_logs.interface = 'intranet'
  118. GROUP BY
  119. reserves.branchcode
  120. UNION
  121. SELECT
  122. old_reserves.branchcode,
  123. Count(old_reserves.reserve_id) AS Count_reserve_id
  124. FROM
  125. old_reserves JOIN
  126. action_logs ON action_logs.object = old_reserves.reserve_id
  127. WHERE
  128. Month(old_reserves.reservedate) = Month(Now() - INTERVAL 1 MONTH) AND
  129. Year(old_reserves.reservedate) = Year(Now() - INTERVAL 1 MONTH) AND
  130. action_logs.module = 'HOLDS' AND
  131. action_logs.action LIKE 'CREAT%' AND
  132. action_logs.interface = 'intranet'
  133. GROUP BY
  134. old_reserves.branchcode
  135. ) requests_placed_staff
  136. ON requests_placed_staff.branchcode = branches.branchcode LEFT JOIN
  137. (SELECT
  138. old_reserves.branchcode,
  139. Count(old_reserves.reserve_id) AS Count_reserve_id
  140. FROM
  141. old_reserves JOIN
  142. action_logs ON action_logs.object = old_reserves.reserve_id
  143. WHERE
  144. Month(action_logs.timestamp) = Month(Now() - INTERVAL 1 MONTH) AND
  145. Year(action_logs.timestamp) = Year(Now() - INTERVAL 1 MONTH) AND
  146. old_reserves.found IS NULL AND
  147. action_logs.module = 'HOLDS' AND
  148. action_logs.action = 'CANCEL' AND
  149. action_logs.user = 0
  150. GROUP BY
  151. old_reserves.branchcode
  152. ) requests_expired_unfilled
  153. ON requests_expired_unfilled.branchcode = branches.branchcode
  154. GROUP BY
  155. branches.branchname,
  156. Coalesce(requests_filled.Count_reserve_id, 0),
  157. Coalesce(requests_cancelled_from_hold_shelf.Count_reserve_id, 0),
  158. Coalesce(requests_cancelled_in_transit.Count_reserve_id, 0),
  159. Coalesce(requests_cancelled_before_pulled.Count_reserve_id, 0),
  160. Coalesce(requests_cancelled.Count_reserve_id, 0),
  161. requests_expired_unfilled.Count_reserve_id
  162. ORDER BY
  163. Library
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement