forked from agirish/tpcds
-
Notifications
You must be signed in to change notification settings - Fork 0
/
query40.sql
36 lines (35 loc) · 1.54 KB
/
query40.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
26
27
28
29
30
31
32
33
34
35
-- start query 40 in stream 0 using template query40.tpl
SELECT
w_state ,
i_item_id ,
Sum(
CASE
WHEN (
Cast(d_date AS DATE) < Cast ('2002-06-01' 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 ('2002-06-01' 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 ('2002-06-01' AS DATE) - INTERVAL '30' day) AND (
cast ('2002-06-01' AS date) + INTERVAL '30' day)
GROUP BY w_state,
i_item_id
ORDER BY w_state,
i_item_id
LIMIT 100;