q61.sql 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. SELECT
  2. promotions,
  3. total,
  4. cast(promotions AS DECIMAL(15, 4)) / cast(total AS DECIMAL(15, 4)) * 100
  5. FROM
  6. (SELECT sum(ss_ext_sales_price) promotions
  7. FROM store_sales, store, promotion, date_dim, customer, customer_address, item
  8. WHERE ss_sold_date_sk = d_date_sk
  9. AND ss_store_sk = s_store_sk
  10. AND ss_promo_sk = p_promo_sk
  11. AND ss_customer_sk = c_customer_sk
  12. AND ca_address_sk = c_current_addr_sk
  13. AND ss_item_sk = i_item_sk
  14. AND ca_gmt_offset = -5
  15. AND i_category = 'Jewelry'
  16. AND (p_channel_dmail = 'Y' OR p_channel_email = 'Y' OR p_channel_tv = 'Y')
  17. AND s_gmt_offset = -5
  18. AND d_year = 1998
  19. AND d_moy = 11) promotional_sales,
  20. (SELECT sum(ss_ext_sales_price) total
  21. FROM store_sales, store, date_dim, customer, customer_address, item
  22. WHERE ss_sold_date_sk = d_date_sk
  23. AND ss_store_sk = s_store_sk
  24. AND ss_customer_sk = c_customer_sk
  25. AND ca_address_sk = c_current_addr_sk
  26. AND ss_item_sk = i_item_sk
  27. AND ca_gmt_offset = -5
  28. AND i_category = 'Jewelry'
  29. AND s_gmt_offset = -5
  30. AND d_year = 1998
  31. AND d_moy = 11) all_sales
  32. ORDER BY promotions, total
  33. LIMIT 100