select c_last_name
       ,c_first_name
       ,c_salutation
       ,c_preferred_cust_flag
       ,ss_ticket_number
       ,cnt from
   (select ss_ticket_number
          ,ss_customer_sk
          ,count(*) cnt
    from store_sales,date_dim,store,household_demographics
    where store_sales.ss_sold_date_sk = date_dim.d_date_sk
    and store_sales.ss_store_sk = store.s_store_sk  
    and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
    and (date_dim.d_dom between 1 and 3 or date_dim.d_dom between 25 and 28)
    and (household_demographics.hd_buy_potential = '1001-5000' or
         household_demographics.hd_buy_potential = '5001-10000')
    and household_demographics.hd_vehicle_count > 0
    and (case when household_demographics.hd_vehicle_count > 0 
	then household_demographics.hd_dep_count/ household_demographics.hd_vehicle_count 
	else null 
	end)  > 1.2
    and date_dim.d_year in (1998,1998+1,1998+2)
    and (
	ss_sold_date in (
        '1998-01-01', '1998-01-02', '1998-01-03', '1998-01-25', '1998-01-26', '1998-01-27', 
        '1998-01-28', '1998-02-01', '1998-02-02', '1998-02-03', '1998-02-25', '1998-02-26', 
        '1998-02-27', '1998-02-28', '1998-03-01', '1998-03-02', '1998-03-03', '1998-03-25', 
        '1998-03-26', '1998-03-27', '1998-03-28', '1998-04-01', '1998-04-02', '1998-04-03', 
        '1998-04-25', '1998-04-26', '1998-04-27', '1998-04-28', '1998-05-01', '1998-05-02', 
        '1998-05-03', '1998-05-25', '1998-05-26', '1998-05-27', '1998-05-28', '1998-06-01', 
        '1998-06-02', '1998-06-03', '1998-06-25', '1998-06-26', '1998-06-27', '1998-06-28', 
        '1998-07-01', '1998-07-02', '1998-07-03', '1998-07-25', '1998-07-26', '1998-07-27', 
        '1998-07-28', '1998-08-01', '1998-08-02', '1998-08-03', '1998-08-25', '1998-08-26', 
        '1998-08-27', '1998-08-28', '1998-09-01', '1998-09-02', '1998-09-03', '1998-09-25', 
        '1998-09-26', '1998-09-27', '1998-09-28', '1998-10-01', '1998-10-02', '1998-10-03', 
        '1998-10-25', '1998-10-26', '1998-10-27', '1998-10-28', '1998-11-01', '1998-11-02', 
        '1998-11-03', '1998-11-25', '1998-11-26', '1998-11-27', '1998-11-28', '1998-12-01', 
        '1998-12-02', '1998-12-03', '1998-12-25', '1998-12-26', '1998-12-27', '1998-12-28', 
        '1999-01-01', '1999-01-02', '1999-01-03', '1999-01-25', '1999-01-26', '1999-01-27', 
        '1999-01-28', '1999-02-01', '1999-02-02', '1999-02-03', '1999-02-25', '1999-02-26', 
        '1999-02-27', '1999-02-28', '1999-03-01', '1999-03-02', '1999-03-03', '1999-03-25', 
        '1999-03-26', '1999-03-27', '1999-03-28', '1999-04-01', '1999-04-02', '1999-04-03', 
        '1999-04-25', '1999-04-26', '1999-04-27', '1999-04-28', '1999-05-01', '1999-05-02', 
        '1999-05-03', '1999-05-25', '1999-05-26', '1999-05-27', '1999-05-28', '1999-06-01', 
        '1999-06-02', '1999-06-03', '1999-06-25', '1999-06-26', '1999-06-27', '1999-06-28', 
        '1999-07-01', '1999-07-02', '1999-07-03', '1999-07-25', '1999-07-26', '1999-07-27', 
        '1999-07-28', '1999-08-01', '1999-08-02', '1999-08-03', '1999-08-25', '1999-08-26', 
        '1999-08-27', '1999-08-28', '1999-09-01', '1999-09-02', '1999-09-03', '1999-09-25', 
        '1999-09-26', '1999-09-27', '1999-09-28', '1999-10-01', '1999-10-02', '1999-10-03', 
        '1999-10-25', '1999-10-26', '1999-10-27', '1999-10-28', '1999-11-01', '1999-11-02', 
        '1999-11-03', '1999-11-25', '1999-11-26', '1999-11-27', '1999-11-28', '1999-12-01', 
        '1999-12-02', '1999-12-03', '1999-12-25', '1999-12-26', '1999-12-27', '1999-12-28', 
        '2000-01-01', '2000-01-02', '2000-01-03', '2000-01-25', '2000-01-26', '2000-01-27', 
        '2000-01-28', '2000-02-01', '2000-02-02', '2000-02-03', '2000-02-25', '2000-02-26', 
        '2000-02-27', '2000-02-28', '2000-03-01', '2000-03-02', '2000-03-03', '2000-03-25', 
        '2000-03-26', '2000-03-27', '2000-03-28', '2000-04-01', '2000-04-02', '2000-04-03', 
        '2000-04-25', '2000-04-26', '2000-04-27', '2000-04-28', '2000-05-01', '2000-05-02', 
        '2000-05-03', '2000-05-25', '2000-05-26', '2000-05-27', '2000-05-28', '2000-06-01', 
        '2000-06-02', '2000-06-03', '2000-06-25', '2000-06-26', '2000-06-27', '2000-06-28', 
        '2000-07-01', '2000-07-02', '2000-07-03', '2000-07-25', '2000-07-26', '2000-07-27', 
        '2000-07-28', '2000-08-01', '2000-08-02', '2000-08-03', '2000-08-25', '2000-08-26', 
        '2000-08-27', '2000-08-28', '2000-09-01', '2000-09-02', '2000-09-03', '2000-09-25', 
        '2000-09-26', '2000-09-27', '2000-09-28', '2000-10-01', '2000-10-02', '2000-10-03', 
        '2000-10-25', '2000-10-26', '2000-10-27', '2000-10-28', '2000-11-01', '2000-11-02', 
        '2000-11-03', '2000-11-25', '2000-11-26', '2000-11-27', '2000-11-28', '2000-12-01', 
        '2000-12-02', '2000-12-03', '2000-12-25', '2000-12-26', '2000-12-27', '2000-12-28'
	)
    )
    and store.s_county in ('Kittitas County','Adams County','Richland County','Furnas County',
                           'Orange County','Appanoose County','Franklin Parish','Tehama County')
    group by ss_ticket_number,ss_customer_sk) dn,customer
    where dn.ss_customer_sk = customer.c_customer_sk
      and cnt between 15 and 20
    order by c_last_name,c_first_name,c_salutation,c_preferred_cust_flag desc;
