Back to home page

OSCL-LXR

 
 

    


0001 WITH wss AS
0002 (SELECT
0003     d_week_seq,
0004     ss_store_sk,
0005     sum(CASE WHEN (d_day_name = 'Sunday')
0006       THEN ss_sales_price
0007         ELSE NULL END) sun_sales,
0008     sum(CASE WHEN (d_day_name = 'Monday')
0009       THEN ss_sales_price
0010         ELSE NULL END) mon_sales,
0011     sum(CASE WHEN (d_day_name = 'Tuesday')
0012       THEN ss_sales_price
0013         ELSE NULL END) tue_sales,
0014     sum(CASE WHEN (d_day_name = 'Wednesday')
0015       THEN ss_sales_price
0016         ELSE NULL END) wed_sales,
0017     sum(CASE WHEN (d_day_name = 'Thursday')
0018       THEN ss_sales_price
0019         ELSE NULL END) thu_sales,
0020     sum(CASE WHEN (d_day_name = 'Friday')
0021       THEN ss_sales_price
0022         ELSE NULL END) fri_sales,
0023     sum(CASE WHEN (d_day_name = 'Saturday')
0024       THEN ss_sales_price
0025         ELSE NULL END) sat_sales
0026   FROM store_sales, date_dim
0027   WHERE d_date_sk = ss_sold_date_sk
0028   GROUP BY d_week_seq, ss_store_sk
0029 )
0030 SELECT
0031   s_store_name1,
0032   s_store_id1,
0033   d_week_seq1,
0034   sun_sales1 / sun_sales2,
0035   mon_sales1 / mon_sales2,
0036   tue_sales1 / tue_sales2,
0037   wed_sales1 / wed_sales2,
0038   thu_sales1 / thu_sales2,
0039   fri_sales1 / fri_sales2,
0040   sat_sales1 / sat_sales2
0041 FROM
0042   (SELECT
0043     s_store_name s_store_name1,
0044     wss.d_week_seq d_week_seq1,
0045     s_store_id s_store_id1,
0046     sun_sales sun_sales1,
0047     mon_sales mon_sales1,
0048     tue_sales tue_sales1,
0049     wed_sales wed_sales1,
0050     thu_sales thu_sales1,
0051     fri_sales fri_sales1,
0052     sat_sales sat_sales1
0053   FROM wss, store, date_dim d
0054   WHERE d.d_week_seq = wss.d_week_seq AND
0055     ss_store_sk = s_store_sk AND
0056     d_month_seq BETWEEN 1212 AND 1212 + 11) y,
0057   (SELECT
0058     s_store_name s_store_name2,
0059     wss.d_week_seq d_week_seq2,
0060     s_store_id s_store_id2,
0061     sun_sales sun_sales2,
0062     mon_sales mon_sales2,
0063     tue_sales tue_sales2,
0064     wed_sales wed_sales2,
0065     thu_sales thu_sales2,
0066     fri_sales fri_sales2,
0067     sat_sales sat_sales2
0068   FROM wss, store, date_dim d
0069   WHERE d.d_week_seq = wss.d_week_seq AND
0070     ss_store_sk = s_store_sk AND
0071     d_month_seq BETWEEN 1212 + 12 AND 1212 + 23) x
0072 WHERE s_store_id1 = s_store_id2
0073   AND d_week_seq1 = d_week_seq2 - 52
0074 ORDER BY s_store_name1, s_store_id1, d_week_seq1
0075 LIMIT 100