--
-- Licensed to the Apache Software Foundation (ASF) under one or more
-- contributor license agreements.  See the NOTICE file distributed with
-- this work for additional information regarding copyright ownership.
-- The ASF licenses this file to You under the Apache License, Version 2.0
-- (the "License"); you may not use this file except in compliance with
-- the License.  You may obtain a copy of the License at
--
--    http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
--
-- q83 --
with sr_items as (
     select
          i_item_id item_id,
          sum(sr_return_quantity) sr_item_qty
     from
          store_returns,
          item,
          date_dim
     where
          sr_item_sk = i_item_sk
          and d_date in (
               select
                    d_date
               from
                    date_dim
               where
                    d_week_seq in (
                         select
                              d_week_seq
                         from
                              date_dim
                         where
                              d_date in ('1998-01-02', '1998-10-15', '1998-11-10')
                    )
          )
          and sr_returned_date_sk = d_date_sk
     group by
          i_item_id
),
cr_items as (
     select
          i_item_id item_id,
          sum(cr_return_quantity) cr_item_qty
     from
          catalog_returns,
          item,
          date_dim
     where
          cr_item_sk = i_item_sk
          and d_date in (
               select
                    d_date
               from
                    date_dim
               where
                    d_week_seq in (
                         select
                              d_week_seq
                         from
                              date_dim
                         where
                              d_date in ('1998-01-02', '1998-10-15', '1998-11-10')
                    )
          )
          and cr_returned_date_sk = d_date_sk
     group by
          i_item_id
),
wr_items as (
     select
          i_item_id item_id,
          sum(wr_return_quantity) wr_item_qty
     from
          web_returns,
          item,
          date_dim
     where
          wr_item_sk = i_item_sk
          and d_date in (
               select
                    d_date
               from
                    date_dim
               where
                    d_week_seq in (
                         select
                              d_week_seq
                         from
                              date_dim
                         where
                              d_date in ('1998-01-02', '1998-10-15', '1998-11-10')
                    )
          )
          and wr_returned_date_sk = d_date_sk
     group by
          i_item_id
)
select
     sr_items.item_id,
     sr_item_qty,
     sr_item_qty / (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 sr_dev,
     cr_item_qty,
     cr_item_qty / (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 cr_dev,
     wr_item_qty,
     wr_item_qty / (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 wr_dev,
     (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 average
from
     sr_items,
     cr_items,
     wr_items
where
     sr_items.item_id = cr_items.item_id
     and sr_items.item_id = wr_items.item_id
order by
     sr_items.item_id,
     sr_item_qty
limit
     100;
