List builder/operator problem

We (non ITS staff) are trying to pull a list in list builder to give us constituents who have a ticket order in a given date range which was paid with a particular payment type.  We built the list with the following criteria:

ticket order date between X and Y
Payment type in Z

The SQL code reads

Select Distinct a.customer_no
 From V_CUSTOMER_WITH_PRIMARY_GROUP a (Nolock)
JOIN LV_SMM_MAX_CONTRIBUTION e (Nolock) ON e.customer_no = a.customer_no
JOIN lvs_tkt_hist f (Nolock) ON f.customer_no = a.customer_no
JOIN t_payment g (Nolock) ON g.customer_no = a.customer_no
 Where  IsNull(a.inactive, 1) = 1
 AND e.cont_amt = 99.00
 AND f.order_dt between  '2012/01/01' And '2012/09/20 23:59:59'
 AND g.pmt_method in (54,53,69)

Trouble is, upon spot checking, it seems to be including customers who have an order in the right date range and who have a SEPARATE order with the appropriate payment type.

We're at a loss - any thoughts on how we can get this to join correctly to require the date and payment type both be on the same order?  We looked at the descriptions for HAS and IN operators and it seemed that the IN operator should be correct, but obviously we are still missing something.

Thanks!

Parents
  • Hi Beth - Try using 'HAS' anyway  -  It seems like that might be actually what you want.  If you use IN it means that anywhere in a customer's record they have an order in your date range and anywhere in their record they have that payment type.  If you use HAS it will tie your payment type parameter to the orders in your date range.

    e.g. the order in your date range must HAVE that payment type.

    I think that might work...

Reply
  • Hi Beth - Try using 'HAS' anyway  -  It seems like that might be actually what you want.  If you use IN it means that anywhere in a customer's record they have an order in your date range and anywhere in their record they have that payment type.  If you use HAS it will tie your payment type parameter to the orders in your date range.

    e.g. the order in your date range must HAVE that payment type.

    I think that might work...

Children
No Data