insert into query99
select substr(w_warehouse_name, 1, 20)
     , sm_type
     , cc_name
     , sum(case when (cs_ship_date_sk - cs_sold_date_sk <= 30) then 1 else 0 end) as 30_days
     , sum(case
               when (cs_ship_date_sk - cs_sold_date_sk > 30) and
                    (cs_ship_date_sk - cs_sold_date_sk <= 60) then 1
               else 0 end)                                                        as 31_60_days
     , sum(case
               when (cs_ship_date_sk - cs_sold_date_sk > 60) and
                    (cs_ship_date_sk - cs_sold_date_sk <= 90) then 1
               else 0 end)                                                        as 61_90_days
     , sum(case
               when (cs_ship_date_sk - cs_sold_date_sk > 90) and
                    (cs_ship_date_sk - cs_sold_date_sk <= 120) then 1
               else 0 end)                                                        as 91_120_days
     , sum(case when (cs_ship_date_sk - cs_sold_date_sk > 120) then 1 else 0 end) as above120_days
from catalog_sales
   , warehouse
   , ship_mode
   , call_center
   , date_dim
where d_month_seq between 1200 and 1200 + 11
  and cs_ship_date_sk = d_date_sk
  and cs_warehouse_sk = w_warehouse_sk
  and cs_ship_mode_sk = sm_ship_mode_sk
  and cs_call_center_sk = cc_call_center_sk
group by substr(w_warehouse_name, 1, 20)
       , sm_type
       , cc_name
order by substr(w_warehouse_name, 1, 20)
       , sm_type
       , cc_name
limit 100;
