q24.sql 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. --!syntax_pg
  2. --TPC-DS Q24
  3. -- start query 1 in stream 0 using template ../query_templates/query24.tpl
  4. with ssales as
  5. (select c_last_name
  6. ,c_first_name
  7. ,s_store_name
  8. ,ca_state
  9. ,s_state
  10. ,i_color
  11. ,i_current_price
  12. ,i_manager_id
  13. ,i_units
  14. ,i_size
  15. ,sum(ss_sales_price) netpaid
  16. from plato.store_sales
  17. ,plato.store_returns
  18. ,plato.store
  19. ,plato.item
  20. ,plato.customer
  21. ,plato.customer_address
  22. where ss_ticket_number = sr_ticket_number
  23. and ss_item_sk = sr_item_sk
  24. and ss_customer_sk = c_customer_sk
  25. and ss_item_sk = i_item_sk
  26. and ss_store_sk = s_store_sk
  27. and c_current_addr_sk = ca_address_sk
  28. and c_birth_country <> upper(ca_country)
  29. and s_zip = ca_zip
  30. and s_market_id=7
  31. group by c_last_name
  32. ,c_first_name
  33. ,s_store_name
  34. ,ca_state
  35. ,s_state
  36. ,i_color
  37. ,i_current_price
  38. ,i_manager_id
  39. ,i_units
  40. ,i_size)
  41. select c_last_name
  42. ,c_first_name
  43. ,s_store_name
  44. ,sum(netpaid) paid
  45. from ssales
  46. where i_color = 'orchid'
  47. group by c_last_name
  48. ,c_first_name
  49. ,s_store_name
  50. having sum(netpaid) > (select 0.05::numeric*avg(netpaid)
  51. from ssales)
  52. order by c_last_name
  53. ,c_first_name
  54. ,s_store_name
  55. ;
  56. with ssales as
  57. (select c_last_name
  58. ,c_first_name
  59. ,s_store_name
  60. ,ca_state
  61. ,s_state
  62. ,i_color
  63. ,i_current_price
  64. ,i_manager_id
  65. ,i_units
  66. ,i_size
  67. ,sum(ss_sales_price) netpaid
  68. from plato.store_sales
  69. ,plato.store_returns
  70. ,plato.store
  71. ,plato.item
  72. ,plato.customer
  73. ,plato.customer_address
  74. where ss_ticket_number = sr_ticket_number
  75. and ss_item_sk = sr_item_sk
  76. and ss_customer_sk = c_customer_sk
  77. and ss_item_sk = i_item_sk
  78. and ss_store_sk = s_store_sk
  79. and c_current_addr_sk = ca_address_sk
  80. and c_birth_country <> upper(ca_country)
  81. and s_zip = ca_zip
  82. and s_market_id = 7
  83. group by c_last_name
  84. ,c_first_name
  85. ,s_store_name
  86. ,ca_state
  87. ,s_state
  88. ,i_color
  89. ,i_current_price
  90. ,i_manager_id
  91. ,i_units
  92. ,i_size)
  93. select c_last_name
  94. ,c_first_name
  95. ,s_store_name
  96. ,sum(netpaid) paid
  97. from ssales
  98. where i_color = 'chiffon'
  99. group by c_last_name
  100. ,c_first_name
  101. ,s_store_name
  102. having sum(netpaid) > (select 0.05::numeric*avg(netpaid)
  103. from ssales)
  104. order by c_last_name
  105. ,c_first_name
  106. ,s_store_name
  107. ;
  108. -- end query 1 in stream 0 using template ../query_templates/query24.tpl