q40.sql 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. --!syntax_pg
  2. --TPC-DS Q40
  3. -- start query 1 in stream 0 using template ../query_templates/query40.tpl
  4. select
  5. w_state
  6. ,i_item_id
  7. ,sum(case when (cast(d_date as date) < cast ('1998-04-08' as date))
  8. then cs_sales_price - coalesce(cr_refunded_cash,0::numeric) else 0::numeric end) as sales_before
  9. ,sum(case when (cast(d_date as date) >= cast ('1998-04-08' as date))
  10. then cs_sales_price - coalesce(cr_refunded_cash,0::numeric) else 0::numeric end) as sales_after
  11. from
  12. plato.catalog_sales left outer join plato.catalog_returns on
  13. (cs_order_number = cr_order_number
  14. and cs_item_sk = cr_item_sk)
  15. ,plato.warehouse
  16. ,plato.item
  17. ,plato.date_dim
  18. where
  19. i_current_price between 0.99::numeric and 1.49::numeric
  20. and i_item_sk = cs_item_sk
  21. and cs_warehouse_sk = w_warehouse_sk
  22. and cs_sold_date_sk = d_date_sk
  23. and d_date between (cast ('1998-04-08' as date) - interval '30' day)::date
  24. and (cast ('1998-04-08' as date) + interval '30' day)::date
  25. group by
  26. w_state,i_item_id
  27. order by w_state,i_item_id
  28. limit 100;
  29. -- end query 1 in stream 0 using template ../query_templates/query40.tpl