tpch_query20.sql 935 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. drop view q20_tmp1_cached;
  2. drop view q20_tmp2_cached;
  3. drop view q20_tmp3_cached;
  4. drop view q20_tmp4_cached;
  5. create view q20_tmp1_cached as
  6. select distinct p_partkey
  7. from
  8. part
  9. where
  10. p_name like 'forest%';
  11. create view q20_tmp2_cached as
  12. select
  13. l_partkey,
  14. l_suppkey,
  15. 0.5 * sum(l_quantity) as sum_quantity
  16. from
  17. lineitem
  18. where
  19. l_shipdate >= '1994-01-01'
  20. and l_shipdate < '1995-01-01'
  21. group by l_partkey, l_suppkey;
  22. create view q20_tmp3_cached as
  23. select
  24. ps_suppkey,
  25. ps_availqty,
  26. sum_quantity
  27. from
  28. partsupp, q20_tmp1_cached, q20_tmp2_cached
  29. where
  30. ps_partkey = p_partkey
  31. and ps_partkey = l_partkey
  32. and ps_suppkey = l_suppkey;
  33. create view q20_tmp4_cached as
  34. select
  35. ps_suppkey
  36. from
  37. q20_tmp3_cached
  38. where
  39. ps_availqty > sum_quantity
  40. group by ps_suppkey;
  41. select
  42. s_name,
  43. s_address
  44. from
  45. supplier,
  46. nation,
  47. q20_tmp4_cached
  48. where
  49. s_nationkey = n_nationkey
  50. and n_name = 'CANADA'
  51. and s_suppkey = ps_suppkey
  52. order by s_name;