q33.sql 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. WITH ss AS (
  2. SELECT
  3. i_manufact_id,
  4. sum(ss_ext_sales_price) total_sales
  5. FROM
  6. store_sales, date_dim, customer_address, item
  7. WHERE
  8. i_manufact_id IN (SELECT i_manufact_id
  9. FROM item
  10. WHERE i_category IN ('Electronics'))
  11. AND ss_item_sk = i_item_sk
  12. AND ss_sold_date_sk = d_date_sk
  13. AND d_year = 1998
  14. AND d_moy = 5
  15. AND ss_addr_sk = ca_address_sk
  16. AND ca_gmt_offset = -5
  17. GROUP BY i_manufact_id), cs AS
  18. (SELECT
  19. i_manufact_id,
  20. sum(cs_ext_sales_price) total_sales
  21. FROM catalog_sales, date_dim, customer_address, item
  22. WHERE
  23. i_manufact_id IN (
  24. SELECT i_manufact_id
  25. FROM item
  26. WHERE
  27. i_category IN ('Electronics'))
  28. AND cs_item_sk = i_item_sk
  29. AND cs_sold_date_sk = d_date_sk
  30. AND d_year = 1998
  31. AND d_moy = 5
  32. AND cs_bill_addr_sk = ca_address_sk
  33. AND ca_gmt_offset = -5
  34. GROUP BY i_manufact_id),
  35. ws AS (
  36. SELECT
  37. i_manufact_id,
  38. sum(ws_ext_sales_price) total_sales
  39. FROM
  40. web_sales, date_dim, customer_address, item
  41. WHERE
  42. i_manufact_id IN (SELECT i_manufact_id
  43. FROM item
  44. WHERE i_category IN ('Electronics'))
  45. AND ws_item_sk = i_item_sk
  46. AND ws_sold_date_sk = d_date_sk
  47. AND d_year = 1998
  48. AND d_moy = 5
  49. AND ws_bill_addr_sk = ca_address_sk
  50. AND ca_gmt_offset = -5
  51. GROUP BY i_manufact_id)
  52. SELECT
  53. i_manufact_id,
  54. sum(total_sales) total_sales
  55. FROM (SELECT *
  56. FROM ss
  57. UNION ALL
  58. SELECT *
  59. FROM cs
  60. UNION ALL
  61. SELECT *
  62. FROM ws) tmp1
  63. GROUP BY i_manufact_id
  64. ORDER BY total_sales
  65. LIMIT 100