-
Notifications
You must be signed in to change notification settings - Fork 10
/
q40.sql
25 lines (25 loc) · 922 Bytes
/
q40.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SELECT
w_state,
i_item_id,
sum(CASE WHEN (cast(d_date AS DATE) < cast('2000-03-11' AS DATE))
THEN cs_sales_price - coalesce(cr_refunded_cash, 0)
ELSE 0 END) AS sales_before,
sum(CASE WHEN (cast(d_date AS DATE) >= cast('2000-03-11' AS DATE))
THEN cs_sales_price - coalesce(cr_refunded_cash, 0)
ELSE 0 END) AS sales_after
FROM
catalog_sales
LEFT OUTER JOIN catalog_returns ON
(cs_order_number = cr_order_number
AND cs_item_sk = cr_item_sk)
, warehouse, item, date_dim
WHERE
i_current_price BETWEEN 0.99 AND 1.49
AND i_item_sk = cs_item_sk
AND cs_warehouse_sk = w_warehouse_sk
AND cs_sold_date_sk = d_date_sk
AND d_date BETWEEN (cast('2000-03-11' AS DATE) - INTERVAL '30' day)
AND (cast('2000-03-11' AS DATE) + INTERVAL '30' day)
GROUP BY w_state, i_item_id
ORDER BY w_state, i_item_id
LIMIT 100;