query72.sql 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. select i_item_desc
  2. ,w_warehouse_name
  3. ,d1.d_week_seq
  4. ,count(case when p_promo_sk is null then 1 else 0 end) no_promo
  5. ,count(case when p_promo_sk is not null then 1 else 0 end) promo
  6. ,count(*) total_cnt
  7. from catalog_sales
  8. join inventory on (catalog_sales.cs_item_sk = inventory.inv_item_sk)
  9. join warehouse on (warehouse.w_warehouse_sk=inventory.inv_warehouse_sk)
  10. join item on (item.i_item_sk = catalog_sales.cs_item_sk)
  11. join customer_demographics on (catalog_sales.cs_bill_cdemo_sk = customer_demographics.cd_demo_sk)
  12. join household_demographics on (catalog_sales.cs_bill_hdemo_sk = household_demographics.hd_demo_sk)
  13. join date_dim d1 on (catalog_sales.cs_sold_date_sk = d1.d_date_sk)
  14. join date_dim d2 on (inventory.inv_date_sk = d2.d_date_sk)
  15. join date_dim d3 on (catalog_sales.cs_ship_date_sk = d3.d_date_sk)
  16. left outer join promotion on (catalog_sales.cs_promo_sk=promotion.p_promo_sk)
  17. left outer join catalog_returns on (catalog_returns.cr_item_sk = catalog_sales.cs_item_sk and catalog_returns.cr_order_number = catalog_sales.cs_order_number)
  18. where d1.d_week_seq = d2.d_week_seq
  19. and inv_quantity_on_hand < cs_quantity
  20. and d3.d_date > d1.d_date + 5
  21. and hd_buy_potential = '1001-5000'
  22. and d1.d_year = 2001
  23. and hd_buy_potential = '1001-5000'
  24. and cd_marital_status = 'M'
  25. and d1.d_year = 2001
  26. group by i_item_desc,w_warehouse_name,d1.d_week_seq
  27. order by total_cnt desc, i_item_desc, w_warehouse_name, d_week_seq
  28. limit 100;