q66.sql 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. SELECT
  2. w_warehouse_name,
  3. w_warehouse_sq_ft,
  4. w_city,
  5. w_county,
  6. w_state,
  7. w_country,
  8. ship_carriers,
  9. year,
  10. sum(jan_sales) AS jan_sales,
  11. sum(feb_sales) AS feb_sales,
  12. sum(mar_sales) AS mar_sales,
  13. sum(apr_sales) AS apr_sales,
  14. sum(may_sales) AS may_sales,
  15. sum(jun_sales) AS jun_sales,
  16. sum(jul_sales) AS jul_sales,
  17. sum(aug_sales) AS aug_sales,
  18. sum(sep_sales) AS sep_sales,
  19. sum(oct_sales) AS oct_sales,
  20. sum(nov_sales) AS nov_sales,
  21. sum(dec_sales) AS dec_sales,
  22. sum(jan_sales / w_warehouse_sq_ft) AS jan_sales_per_sq_foot,
  23. sum(feb_sales / w_warehouse_sq_ft) AS feb_sales_per_sq_foot,
  24. sum(mar_sales / w_warehouse_sq_ft) AS mar_sales_per_sq_foot,
  25. sum(apr_sales / w_warehouse_sq_ft) AS apr_sales_per_sq_foot,
  26. sum(may_sales / w_warehouse_sq_ft) AS may_sales_per_sq_foot,
  27. sum(jun_sales / w_warehouse_sq_ft) AS jun_sales_per_sq_foot,
  28. sum(jul_sales / w_warehouse_sq_ft) AS jul_sales_per_sq_foot,
  29. sum(aug_sales / w_warehouse_sq_ft) AS aug_sales_per_sq_foot,
  30. sum(sep_sales / w_warehouse_sq_ft) AS sep_sales_per_sq_foot,
  31. sum(oct_sales / w_warehouse_sq_ft) AS oct_sales_per_sq_foot,
  32. sum(nov_sales / w_warehouse_sq_ft) AS nov_sales_per_sq_foot,
  33. sum(dec_sales / w_warehouse_sq_ft) AS dec_sales_per_sq_foot,
  34. sum(jan_net) AS jan_net,
  35. sum(feb_net) AS feb_net,
  36. sum(mar_net) AS mar_net,
  37. sum(apr_net) AS apr_net,
  38. sum(may_net) AS may_net,
  39. sum(jun_net) AS jun_net,
  40. sum(jul_net) AS jul_net,
  41. sum(aug_net) AS aug_net,
  42. sum(sep_net) AS sep_net,
  43. sum(oct_net) AS oct_net,
  44. sum(nov_net) AS nov_net,
  45. sum(dec_net) AS dec_net
  46. FROM (
  47. (SELECT
  48. w_warehouse_name,
  49. w_warehouse_sq_ft,
  50. w_city,
  51. w_county,
  52. w_state,
  53. w_country,
  54. concat('DHL', ',', 'BARIAN') AS ship_carriers,
  55. d_year AS year,
  56. sum(CASE WHEN d_moy = 1
  57. THEN ws_ext_sales_price * ws_quantity
  58. ELSE 0 END) AS jan_sales,
  59. sum(CASE WHEN d_moy = 2
  60. THEN ws_ext_sales_price * ws_quantity
  61. ELSE 0 END) AS feb_sales,
  62. sum(CASE WHEN d_moy = 3
  63. THEN ws_ext_sales_price * ws_quantity
  64. ELSE 0 END) AS mar_sales,
  65. sum(CASE WHEN d_moy = 4
  66. THEN ws_ext_sales_price * ws_quantity
  67. ELSE 0 END) AS apr_sales,
  68. sum(CASE WHEN d_moy = 5
  69. THEN ws_ext_sales_price * ws_quantity
  70. ELSE 0 END) AS may_sales,
  71. sum(CASE WHEN d_moy = 6
  72. THEN ws_ext_sales_price * ws_quantity
  73. ELSE 0 END) AS jun_sales,
  74. sum(CASE WHEN d_moy = 7
  75. THEN ws_ext_sales_price * ws_quantity
  76. ELSE 0 END) AS jul_sales,
  77. sum(CASE WHEN d_moy = 8
  78. THEN ws_ext_sales_price * ws_quantity
  79. ELSE 0 END) AS aug_sales,
  80. sum(CASE WHEN d_moy = 9
  81. THEN ws_ext_sales_price * ws_quantity
  82. ELSE 0 END) AS sep_sales,
  83. sum(CASE WHEN d_moy = 10
  84. THEN ws_ext_sales_price * ws_quantity
  85. ELSE 0 END) AS oct_sales,
  86. sum(CASE WHEN d_moy = 11
  87. THEN ws_ext_sales_price * ws_quantity
  88. ELSE 0 END) AS nov_sales,
  89. sum(CASE WHEN d_moy = 12
  90. THEN ws_ext_sales_price * ws_quantity
  91. ELSE 0 END) AS dec_sales,
  92. sum(CASE WHEN d_moy = 1
  93. THEN ws_net_paid * ws_quantity
  94. ELSE 0 END) AS jan_net,
  95. sum(CASE WHEN d_moy = 2
  96. THEN ws_net_paid * ws_quantity
  97. ELSE 0 END) AS feb_net,
  98. sum(CASE WHEN d_moy = 3
  99. THEN ws_net_paid * ws_quantity
  100. ELSE 0 END) AS mar_net,
  101. sum(CASE WHEN d_moy = 4
  102. THEN ws_net_paid * ws_quantity
  103. ELSE 0 END) AS apr_net,
  104. sum(CASE WHEN d_moy = 5
  105. THEN ws_net_paid * ws_quantity
  106. ELSE 0 END) AS may_net,
  107. sum(CASE WHEN d_moy = 6
  108. THEN ws_net_paid * ws_quantity
  109. ELSE 0 END) AS jun_net,
  110. sum(CASE WHEN d_moy = 7
  111. THEN ws_net_paid * ws_quantity
  112. ELSE 0 END) AS jul_net,
  113. sum(CASE WHEN d_moy = 8
  114. THEN ws_net_paid * ws_quantity
  115. ELSE 0 END) AS aug_net,
  116. sum(CASE WHEN d_moy = 9
  117. THEN ws_net_paid * ws_quantity
  118. ELSE 0 END) AS sep_net,
  119. sum(CASE WHEN d_moy = 10
  120. THEN ws_net_paid * ws_quantity
  121. ELSE 0 END) AS oct_net,
  122. sum(CASE WHEN d_moy = 11
  123. THEN ws_net_paid * ws_quantity
  124. ELSE 0 END) AS nov_net,
  125. sum(CASE WHEN d_moy = 12
  126. THEN ws_net_paid * ws_quantity
  127. ELSE 0 END) AS dec_net
  128. FROM
  129. web_sales, warehouse, date_dim, time_dim, ship_mode
  130. WHERE
  131. ws_warehouse_sk = w_warehouse_sk
  132. AND ws_sold_date_sk = d_date_sk
  133. AND ws_sold_time_sk = t_time_sk
  134. AND ws_ship_mode_sk = sm_ship_mode_sk
  135. AND d_year = 2001
  136. AND t_time BETWEEN 30838 AND 30838 + 28800
  137. AND sm_carrier IN ('DHL', 'BARIAN')
  138. GROUP BY
  139. w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, d_year)
  140. UNION ALL
  141. (SELECT
  142. w_warehouse_name,
  143. w_warehouse_sq_ft,
  144. w_city,
  145. w_county,
  146. w_state,
  147. w_country,
  148. concat('DHL', ',', 'BARIAN') AS ship_carriers,
  149. d_year AS year,
  150. sum(CASE WHEN d_moy = 1
  151. THEN cs_sales_price * cs_quantity
  152. ELSE 0 END) AS jan_sales,
  153. sum(CASE WHEN d_moy = 2
  154. THEN cs_sales_price * cs_quantity
  155. ELSE 0 END) AS feb_sales,
  156. sum(CASE WHEN d_moy = 3
  157. THEN cs_sales_price * cs_quantity
  158. ELSE 0 END) AS mar_sales,
  159. sum(CASE WHEN d_moy = 4
  160. THEN cs_sales_price * cs_quantity
  161. ELSE 0 END) AS apr_sales,
  162. sum(CASE WHEN d_moy = 5
  163. THEN cs_sales_price * cs_quantity
  164. ELSE 0 END) AS may_sales,
  165. sum(CASE WHEN d_moy = 6
  166. THEN cs_sales_price * cs_quantity
  167. ELSE 0 END) AS jun_sales,
  168. sum(CASE WHEN d_moy = 7
  169. THEN cs_sales_price * cs_quantity
  170. ELSE 0 END) AS jul_sales,
  171. sum(CASE WHEN d_moy = 8
  172. THEN cs_sales_price * cs_quantity
  173. ELSE 0 END) AS aug_sales,
  174. sum(CASE WHEN d_moy = 9
  175. THEN cs_sales_price * cs_quantity
  176. ELSE 0 END) AS sep_sales,
  177. sum(CASE WHEN d_moy = 10
  178. THEN cs_sales_price * cs_quantity
  179. ELSE 0 END) AS oct_sales,
  180. sum(CASE WHEN d_moy = 11
  181. THEN cs_sales_price * cs_quantity
  182. ELSE 0 END) AS nov_sales,
  183. sum(CASE WHEN d_moy = 12
  184. THEN cs_sales_price * cs_quantity
  185. ELSE 0 END) AS dec_sales,
  186. sum(CASE WHEN d_moy = 1
  187. THEN cs_net_paid_inc_tax * cs_quantity
  188. ELSE 0 END) AS jan_net,
  189. sum(CASE WHEN d_moy = 2
  190. THEN cs_net_paid_inc_tax * cs_quantity
  191. ELSE 0 END) AS feb_net,
  192. sum(CASE WHEN d_moy = 3
  193. THEN cs_net_paid_inc_tax * cs_quantity
  194. ELSE 0 END) AS mar_net,
  195. sum(CASE WHEN d_moy = 4
  196. THEN cs_net_paid_inc_tax * cs_quantity
  197. ELSE 0 END) AS apr_net,
  198. sum(CASE WHEN d_moy = 5
  199. THEN cs_net_paid_inc_tax * cs_quantity
  200. ELSE 0 END) AS may_net,
  201. sum(CASE WHEN d_moy = 6
  202. THEN cs_net_paid_inc_tax * cs_quantity
  203. ELSE 0 END) AS jun_net,
  204. sum(CASE WHEN d_moy = 7
  205. THEN cs_net_paid_inc_tax * cs_quantity
  206. ELSE 0 END) AS jul_net,
  207. sum(CASE WHEN d_moy = 8
  208. THEN cs_net_paid_inc_tax * cs_quantity
  209. ELSE 0 END) AS aug_net,
  210. sum(CASE WHEN d_moy = 9
  211. THEN cs_net_paid_inc_tax * cs_quantity
  212. ELSE 0 END) AS sep_net,
  213. sum(CASE WHEN d_moy = 10
  214. THEN cs_net_paid_inc_tax * cs_quantity
  215. ELSE 0 END) AS oct_net,
  216. sum(CASE WHEN d_moy = 11
  217. THEN cs_net_paid_inc_tax * cs_quantity
  218. ELSE 0 END) AS nov_net,
  219. sum(CASE WHEN d_moy = 12
  220. THEN cs_net_paid_inc_tax * cs_quantity
  221. ELSE 0 END) AS dec_net
  222. FROM
  223. catalog_sales, warehouse, date_dim, time_dim, ship_mode
  224. WHERE
  225. cs_warehouse_sk = w_warehouse_sk
  226. AND cs_sold_date_sk = d_date_sk
  227. AND cs_sold_time_sk = t_time_sk
  228. AND cs_ship_mode_sk = sm_ship_mode_sk
  229. AND d_year = 2001
  230. AND t_time BETWEEN 30838 AND 30838 + 28800
  231. AND sm_carrier IN ('DHL', 'BARIAN')
  232. GROUP BY
  233. w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, d_year
  234. )
  235. ) x
  236. GROUP BY
  237. w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country,
  238. ship_carriers, year
  239. ORDER BY w_warehouse_name
  240. LIMIT 100