Loading plan…
WITH customer_total_return AS (
SELECT
wr_returning_customer_sk AS ctr_customer_sk,
ca_state AS ctr_state,
wr_reason_sk AS ctr_reason_sk,
SUM(wr_return_amt) AS ctr_total_return
FROM web_returns, date_dim, customer_address, item
WHERE
wr_returned_date_sk = d_date_sk
AND d_year = 2000
AND wr_returning_addr_sk = ca_address_sk
AND wr_item_sk = i_item_sk
AND i_manager_id BETWEEN 91 AND 100
AND wr_return_amt / wr_return_quantity BETWEEN 271 AND 300
GROUP BY
wr_returning_customer_sk,
ca_state,
wr_reason_sk
)
SELECT
TOP 100
c_customer_id,
c_salutation,
c_first_name,
c_last_name,
c_preferred_cust_flag,
c_birth_day,
c_birth_month,
c_birth_year,
c_birth_country,
c_login,
c_email_address,
c_last_review_date,
ctr_total_return
FROM customer_total_return AS ctr1, customer_address, customer
WHERE
ctr1.ctr_total_return > (
SELECT
AVG(ctr_total_return) * 1.2
FROM customer_total_return AS ctr2
WHERE
ctr1.ctr_state = ctr2.ctr_state
)
AND ca_address_sk = c_current_addr_sk
AND ca_state IN ('AR', 'GA', 'IL', 'TX')
AND ctr1.ctr_customer_sk = c_customer_sk
AND ctr1.ctr_reason_sk IN (15, 50)
AND c_birth_year BETWEEN 1987 AND 1993
ORDER BY
c_customer_id,
c_salutation,
c_first_name,
c_last_name,
c_preferred_cust_flag,
c_birth_day,
c_birth_month,
c_birth_year,
c_birth_country,
c_login,
c_email_address,
c_last_review_date,
ctr_total_return;
Step details
Loading plan…
Green: scan · yellow: join · purple: row movement. Rows and costs are optimiser estimates; costs use model units.