| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- WITH wscs AS
- ( SELECT
- sold_date_sk,
- sales_price
- FROM (SELECT
- ws_sold_date_sk sold_date_sk,
- ws_ext_sales_price sales_price
- FROM web_sales) x
- UNION ALL
- (SELECT
- cs_sold_date_sk sold_date_sk,
- cs_ext_sales_price sales_price
- FROM catalog_sales)),
- wswscs AS
- ( SELECT
- d_week_seq,
- sum(CASE WHEN (d_day_name = 'Sunday')
- THEN sales_price
- ELSE NULL END)
- sun_sales,
- sum(CASE WHEN (d_day_name = 'Monday')
- THEN sales_price
- ELSE NULL END)
- mon_sales,
- sum(CASE WHEN (d_day_name = 'Tuesday')
- THEN sales_price
- ELSE NULL END)
- tue_sales,
- sum(CASE WHEN (d_day_name = 'Wednesday')
- THEN sales_price
- ELSE NULL END)
- wed_sales,
- sum(CASE WHEN (d_day_name = 'Thursday')
- THEN sales_price
- ELSE NULL END)
- thu_sales,
- sum(CASE WHEN (d_day_name = 'Friday')
- THEN sales_price
- ELSE NULL END)
- fri_sales,
- sum(CASE WHEN (d_day_name = 'Saturday')
- THEN sales_price
- ELSE NULL END)
- sat_sales
- FROM wscs, date_dim
- WHERE d_date_sk = sold_date_sk
- GROUP BY d_week_seq)
- SELECT
- d_week_seq1,
- round(sun_sales1 / sun_sales2, 2),
- round(mon_sales1 / mon_sales2, 2),
- round(tue_sales1 / tue_sales2, 2),
- round(wed_sales1 / wed_sales2, 2),
- round(thu_sales1 / thu_sales2, 2),
- round(fri_sales1 / fri_sales2, 2),
- round(sat_sales1 / sat_sales2, 2)
- FROM
- (SELECT
- wswscs.d_week_seq d_week_seq1,
- sun_sales sun_sales1,
- mon_sales mon_sales1,
- tue_sales tue_sales1,
- wed_sales wed_sales1,
- thu_sales thu_sales1,
- fri_sales fri_sales1,
- sat_sales sat_sales1
- FROM wswscs, date_dim
- WHERE date_dim.d_week_seq = wswscs.d_week_seq AND d_year = 2001) y,
- (SELECT
- wswscs.d_week_seq d_week_seq2,
- sun_sales sun_sales2,
- mon_sales mon_sales2,
- tue_sales tue_sales2,
- wed_sales wed_sales2,
- thu_sales thu_sales2,
- fri_sales fri_sales2,
- sat_sales sat_sales2
- FROM wswscs, date_dim
- WHERE date_dim.d_week_seq = wswscs.d_week_seq AND d_year = 2001 + 1) z
- WHERE d_week_seq1 = d_week_seq2 - 53
- ORDER BY d_week_seq1
|