blob: 162a48c183114dadd052f629bc44fc205caa2f5a [file] [log] [blame]
====
---- QUERY: TPCDS-Q49
SELECT channel,
item,
return_ratio,
return_rank,
currency_rank
FROM
(SELECT 'web' AS channel,
web.item,
web.return_ratio,
web.return_rank,
web.currency_rank
FROM
(SELECT item,
return_ratio,
currency_ratio,
rank() OVER (
ORDER BY return_ratio) AS return_rank,
rank() OVER (
ORDER BY currency_ratio) AS currency_rank
FROM
(SELECT ws.ws_item_sk AS item,
(cast(sum(coalesce(wr.wr_return_quantity,0)) AS decimal(15,4))/ cast(sum(coalesce(ws.ws_quantity,0)) AS decimal(15,4))) AS return_ratio,
(cast(sum(coalesce(wr.wr_return_amt,0)) AS decimal(15,4))/ cast(sum(coalesce(ws.ws_net_paid,0)) AS decimal(15,4))) AS currency_ratio
FROM web_sales ws
LEFT OUTER JOIN web_returns wr ON (ws.ws_order_number = wr.wr_order_number
AND ws.ws_item_sk = wr.wr_item_sk) ,date_dim
WHERE wr.wr_return_amt > 10000
AND ws.ws_net_profit > 1
AND ws.ws_net_paid > 0
AND ws.ws_quantity > 0
AND ws_sold_date_sk = d_date_sk
AND d_year = 2001
AND d_moy = 12
GROUP BY ws.ws_item_sk) in_web) web
WHERE (web.return_rank <= 10
OR web.currency_rank <= 10)
UNION SELECT 'catalog' AS channel,
catalog.item,
catalog.return_ratio,
catalog.return_rank,
catalog.currency_rank
FROM
(SELECT item,
return_ratio,
currency_ratio,
rank() OVER (
ORDER BY return_ratio) AS return_rank,
rank() OVER (
ORDER BY currency_ratio) AS currency_rank
FROM
(SELECT cs.cs_item_sk AS item,
(cast(sum(coalesce(cr.cr_return_quantity,0)) AS decimal(15,4))/ cast(sum(coalesce(cs.cs_quantity,0)) AS decimal(15,4))) AS return_ratio,
(cast(sum(coalesce(cr.cr_return_amount,0)) AS decimal(15,4))/ cast(sum(coalesce(cs.cs_net_paid,0)) AS decimal(15,4))) AS currency_ratio
FROM catalog_sales cs
LEFT OUTER JOIN catalog_returns cr ON (cs.cs_order_number = cr.cr_order_number
AND cs.cs_item_sk = cr.cr_item_sk) ,date_dim
WHERE cr.cr_return_amount > 10000
AND cs.cs_net_profit > 1
AND cs.cs_net_paid > 0
AND cs.cs_quantity > 0
AND cs_sold_date_sk = d_date_sk
AND d_year = 2001
AND d_moy = 12
GROUP BY cs.cs_item_sk) in_cat) CATALOG
WHERE (catalog.return_rank <= 10
OR catalog.currency_rank <=10)
UNION SELECT 'store' AS channel,
store.item,
store.return_ratio,
store.return_rank,
store.currency_rank
FROM
(SELECT item,
return_ratio,
currency_ratio,
rank() OVER (
ORDER BY return_ratio) AS return_rank,
rank() OVER (
ORDER BY currency_ratio) AS currency_rank
FROM
(SELECT sts.ss_item_sk AS item,
(cast(sum(coalesce(sr.sr_return_quantity,0)) AS decimal(15,4))/cast(sum(coalesce(sts.ss_quantity,0)) AS decimal(15,4))) AS return_ratio,
(cast(sum(coalesce(sr.sr_return_amt,0)) AS decimal(15,4))/cast(sum(coalesce(sts.ss_net_paid,0)) AS decimal(15,4))) AS currency_ratio
FROM store_sales sts
LEFT OUTER JOIN store_returns sr ON (sts.ss_ticket_number = sr.sr_ticket_number
AND sts.ss_item_sk = sr.sr_item_sk) ,date_dim
WHERE sr.sr_return_amt > 10000
AND sts.ss_net_profit > 1
AND sts.ss_net_paid > 0
AND sts.ss_quantity > 0
AND ss_sold_date_sk = d_date_sk
AND d_year = 2001
AND d_moy = 12
GROUP BY sts.ss_item_sk) in_store) store
WHERE (store.return_rank <= 10
OR store.currency_rank <= 10) ) sq1
ORDER BY 1,
4,
5,
2
LIMIT 100
---- RESULTS
'catalog',17543,0.57142857142857142857,1,1
'catalog',14513,0.63541666666666666667,2,2
'catalog',12577,0.65591397849462365591,3,3
'catalog',3411,0.71641791044776119403,4,4
'catalog',361,0.74647887323943661972,5,5
'catalog',8189,0.74698795180722891566,6,6
'catalog',8929,0.76250000000000000000,7,7
'catalog',14869,0.77173913043478260870,8,8
'catalog',9295,0.77894736842105263158,9,9
'catalog',16215,0.79069767441860465116,10,10
'store',9471,0.77500000000000000000,1,1
'store',9797,0.80000000000000000000,2,2
'store',12641,0.81609195402298850575,3,3
'store',15839,0.81632653061224489796,4,4
'store',1171,0.82417582417582417582,5,5
'store',11589,0.82653061224489795918,6,6
'store',6661,0.92207792207792207792,7,7
'store',13013,0.94202898550724637681,8,8
'store',14925,0.96470588235294117647,9,9
'store',4063,1.00000000000000000000,10,10
'store',9029,1.00000000000000000000,10,10
'web',7539,0.59000000000000000000,1,1
'web',3337,0.62650602409638554217,2,2
'web',15597,0.66197183098591549296,3,3
'web',2915,0.69863013698630136986,4,4
'web',11933,0.71717171717171717172,5,5
'web',3305,0.73750000000000000000,6,16
'web',483,0.80000000000000000000,7,6
'web',85,0.85714285714285714286,8,7
'web',97,0.90361445783132530120,9,8
'web',117,0.92500000000000000000,10,9
'web',5299,0.92708333333333333333,11,10
---- TYPES
STRING, BIGINT, DECIMAL, BIGINT, BIGINT
====