query66.sql 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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('DIAMOND', ',', 'AIRBORNE') as ship_carriers
  55. ,d_year as year
  56. ,sum(case when d_moy = 1
  57. then ws_sales_price* ws_quantity else 0 end) as jan_sales
  58. ,sum(case when d_moy = 2
  59. then ws_sales_price* ws_quantity else 0 end) as feb_sales
  60. ,sum(case when d_moy = 3
  61. then ws_sales_price* ws_quantity else 0 end) as mar_sales
  62. ,sum(case when d_moy = 4
  63. then ws_sales_price* ws_quantity else 0 end) as apr_sales
  64. ,sum(case when d_moy = 5
  65. then ws_sales_price* ws_quantity else 0 end) as may_sales
  66. ,sum(case when d_moy = 6
  67. then ws_sales_price* ws_quantity else 0 end) as jun_sales
  68. ,sum(case when d_moy = 7
  69. then ws_sales_price* ws_quantity else 0 end) as jul_sales
  70. ,sum(case when d_moy = 8
  71. then ws_sales_price* ws_quantity else 0 end) as aug_sales
  72. ,sum(case when d_moy = 9
  73. then ws_sales_price* ws_quantity else 0 end) as sep_sales
  74. ,sum(case when d_moy = 10
  75. then ws_sales_price* ws_quantity else 0 end) as oct_sales
  76. ,sum(case when d_moy = 11
  77. then ws_sales_price* ws_quantity else 0 end) as nov_sales
  78. ,sum(case when d_moy = 12
  79. then ws_sales_price* ws_quantity else 0 end) as dec_sales
  80. ,sum(case when d_moy = 1
  81. then ws_net_paid_inc_tax * ws_quantity else 0 end) as jan_net
  82. ,sum(case when d_moy = 2
  83. then ws_net_paid_inc_tax * ws_quantity else 0 end) as feb_net
  84. ,sum(case when d_moy = 3
  85. then ws_net_paid_inc_tax * ws_quantity else 0 end) as mar_net
  86. ,sum(case when d_moy = 4
  87. then ws_net_paid_inc_tax * ws_quantity else 0 end) as apr_net
  88. ,sum(case when d_moy = 5
  89. then ws_net_paid_inc_tax * ws_quantity else 0 end) as may_net
  90. ,sum(case when d_moy = 6
  91. then ws_net_paid_inc_tax * ws_quantity else 0 end) as jun_net
  92. ,sum(case when d_moy = 7
  93. then ws_net_paid_inc_tax * ws_quantity else 0 end) as jul_net
  94. ,sum(case when d_moy = 8
  95. then ws_net_paid_inc_tax * ws_quantity else 0 end) as aug_net
  96. ,sum(case when d_moy = 9
  97. then ws_net_paid_inc_tax * ws_quantity else 0 end) as sep_net
  98. ,sum(case when d_moy = 10
  99. then ws_net_paid_inc_tax * ws_quantity else 0 end) as oct_net
  100. ,sum(case when d_moy = 11
  101. then ws_net_paid_inc_tax * ws_quantity else 0 end) as nov_net
  102. ,sum(case when d_moy = 12
  103. then ws_net_paid_inc_tax * ws_quantity else 0 end) as dec_net
  104. from
  105. web_sales
  106. ,warehouse
  107. ,date_dim
  108. ,time_dim
  109. ,ship_mode
  110. where
  111. web_sales.ws_warehouse_sk = warehouse.w_warehouse_sk
  112. and web_sales.ws_sold_date_sk = date_dim.d_date_sk
  113. and web_sales.ws_sold_time_sk = time_dim.t_time_sk
  114. and web_sales.ws_ship_mode_sk = ship_mode.sm_ship_mode_sk
  115. and d_year = 2002
  116. and ws_sold_date between '2002-01-01' and '2002-12-31'
  117. and t_time between 49530 and 49530+28800
  118. and sm_carrier in ('DIAMOND','AIRBORNE')
  119. group by
  120. w_warehouse_name
  121. ,w_warehouse_sq_ft
  122. ,w_city
  123. ,w_county
  124. ,w_state
  125. ,w_country
  126. ,d_year
  127. union all
  128. select
  129. w_warehouse_name
  130. ,w_warehouse_sq_ft
  131. ,w_city
  132. ,w_county
  133. ,w_state
  134. ,w_country
  135. ,concat('DIAMOND', ',', 'AIRBORNE') as ship_carriers
  136. ,d_year as year
  137. ,sum(case when d_moy = 1
  138. then cs_ext_sales_price* cs_quantity else 0 end) as jan_sales
  139. ,sum(case when d_moy = 2
  140. then cs_ext_sales_price* cs_quantity else 0 end) as feb_sales
  141. ,sum(case when d_moy = 3
  142. then cs_ext_sales_price* cs_quantity else 0 end) as mar_sales
  143. ,sum(case when d_moy = 4
  144. then cs_ext_sales_price* cs_quantity else 0 end) as apr_sales
  145. ,sum(case when d_moy = 5
  146. then cs_ext_sales_price* cs_quantity else 0 end) as may_sales
  147. ,sum(case when d_moy = 6
  148. then cs_ext_sales_price* cs_quantity else 0 end) as jun_sales
  149. ,sum(case when d_moy = 7
  150. then cs_ext_sales_price* cs_quantity else 0 end) as jul_sales
  151. ,sum(case when d_moy = 8
  152. then cs_ext_sales_price* cs_quantity else 0 end) as aug_sales
  153. ,sum(case when d_moy = 9
  154. then cs_ext_sales_price* cs_quantity else 0 end) as sep_sales
  155. ,sum(case when d_moy = 10
  156. then cs_ext_sales_price* cs_quantity else 0 end) as oct_sales
  157. ,sum(case when d_moy = 11
  158. then cs_ext_sales_price* cs_quantity else 0 end) as nov_sales
  159. ,sum(case when d_moy = 12
  160. then cs_ext_sales_price* cs_quantity else 0 end) as dec_sales
  161. ,sum(case when d_moy = 1
  162. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as jan_net
  163. ,sum(case when d_moy = 2
  164. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as feb_net
  165. ,sum(case when d_moy = 3
  166. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as mar_net
  167. ,sum(case when d_moy = 4
  168. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as apr_net
  169. ,sum(case when d_moy = 5
  170. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as may_net
  171. ,sum(case when d_moy = 6
  172. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as jun_net
  173. ,sum(case when d_moy = 7
  174. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as jul_net
  175. ,sum(case when d_moy = 8
  176. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as aug_net
  177. ,sum(case when d_moy = 9
  178. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as sep_net
  179. ,sum(case when d_moy = 10
  180. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as oct_net
  181. ,sum(case when d_moy = 11
  182. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as nov_net
  183. ,sum(case when d_moy = 12
  184. then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as dec_net
  185. from
  186. catalog_sales
  187. ,warehouse
  188. ,date_dim
  189. ,time_dim
  190. ,ship_mode
  191. where
  192. catalog_sales.cs_warehouse_sk = warehouse.w_warehouse_sk
  193. and catalog_sales.cs_sold_date_sk = date_dim.d_date_sk
  194. and catalog_sales.cs_sold_time_sk = time_dim.t_time_sk
  195. and catalog_sales.cs_ship_mode_sk = ship_mode.sm_ship_mode_sk
  196. and d_year = 2002
  197. and cs_sold_date between '2002-01-01' and '2002-12-31'
  198. and t_time between 49530 AND 49530+28800
  199. and sm_carrier in ('DIAMOND','AIRBORNE')
  200. group by
  201. w_warehouse_name
  202. ,w_warehouse_sq_ft
  203. ,w_city
  204. ,w_county
  205. ,w_state
  206. ,w_country
  207. ,d_year
  208. ) x
  209. group by
  210. w_warehouse_name
  211. ,w_warehouse_sq_ft
  212. ,w_city
  213. ,w_county
  214. ,w_state
  215. ,w_country
  216. ,ship_carriers
  217. ,year
  218. order by w_warehouse_name
  219. limit 100;