--
-- 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.
--
-- q93 --
select
     ss_customer_sk,
     sum(act_sales) sumsales
from
     (
          select
               ss_item_sk,
               ss_ticket_number,
               ss_customer_sk,
               case
                    when sr_return_quantity is not null then (ss_quantity - sr_return_quantity) * ss_sales_price
                    else (ss_quantity * ss_sales_price)
               end act_sales
          from
               store_sales
               left outer join store_returns on (
                    sr_item_sk = ss_item_sk
                    and sr_ticket_number = ss_ticket_number
               ),
               reason
          where
               sr_reason_sk = r_reason_sk
               and r_reason_desc = 'Did not like the warranty'
     ) t
group by
     ss_customer_sk
order by
     sumsales,
     ss_customer_sk
limit
     100;
