--
-- 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.
--
-- q94 --
select
  count(distinct ws_order_number) as `order count`,
  sum(ws_ext_ship_cost) as `total shipping cost`,
  sum(ws_net_profit) as `total net profit`
from
  web_sales ws1,
  date_dim,
  customer_address,
  web_site
where
  d_date between '1999-5-01'
  and (cast('1999-5-01' as date) + interval 60 days)
  and ws1.ws_ship_date_sk = d_date_sk
  and ws1.ws_ship_addr_sk = ca_address_sk
  and ca_state = 'TX'
  and ws1.ws_web_site_sk = web_site_sk
  and web_company_name = 'pri'
  and exists (
    select
      *
    from
      web_sales ws2
    where
      ws1.ws_order_number = ws2.ws_order_number
      and ws1.ws_warehouse_sk <> ws2.ws_warehouse_sk
  )
  and not exists (
    select
      *
    from
      web_returns wr1
    where
      ws1.ws_order_number = wr1.wr_order_number
  )
order by
  count(distinct ws_order_number)
limit
  100;
