Constituents who bought tickets to more than one performances on the same day

Any ideas on how to find the number of people who purchased tickets for more than one performance in the same day? 
We're an Art House Cinema, so this isn't as rare as it might be for other venues. Any suggestions would be appreciated!

Parents
  • Hi Susan,

    I guess it depends on what you want to do with this information.  However, you could build a list - the criteria in my screen grab shows how I would generate a list for everyone that has tickets for more than one performance on 21 August.

    We use mail2 for our performance reminders, sending the reminder the day before the performance/s but that contains the details of the multiple performances being attended on that day.  I created a database view that would retrieve the performance details - happy to share!

    Martin 

  • Thanks so much for the response, Martin. That criteria for the list is exactly what we need but for the last 365 days(!). Since we have so many performances (roughly 150/week), we don't send out reminders. Back to the now better-lit drawing board.

    Susan

  • Sorry Susan, I'm not sure I understand what it is you're trying to identify - is the basis of your query the performance date or the transaction date?.  Rereading both comments, it sounds like you're trying to identify either:

    • people that in the last 365 days have bought tickets to more than one performance on the same performance date (regardless of transaction date)
    • people that in the last 365 days have bought tickets to more than one performance on the same transaction date (regardless of the performance date)

    Either way, I would be happy to try and help!

    Martin

  • Thanks for the response, Martin. The first example is what we're looking for. 

  • Well, sorry to say I don't know that there's an elegant way in List Manager to do this.  However, if List Manager allows you the Manual Edit option, you could drop this code into the editor window:

    Select Distinct a.customer_no
    From V_CUSTOMER_WITH_PRIMARY_GROUP a WITH (NOLOCK)
    JOIN (Select hv.customer_no From vs_ticket_history a1 WITH (NOLOCK)
    JOIN V_CUSTOMER_WITH_HOUSEHOLD hv ON a1.customer_no = hv.expanded_customer_no
    Where a1.perf_dt >= getdate() - 365
    Group By hv.customer_no, convert(varchar(25), a1.perf_dt, 101)
    Having count(distinct a1.perf_no) >= 2) as e ON e.customer_no = a.customer_no
    Where IsNull(a.inactive, 1) = 1

    This code searches households that have purchased tickets to more than one performance where the performance date is in the last 365 days.

    Hope this helps - if not - just shout out!

    Martin 

Reply
  • Well, sorry to say I don't know that there's an elegant way in List Manager to do this.  However, if List Manager allows you the Manual Edit option, you could drop this code into the editor window:

    Select Distinct a.customer_no
    From V_CUSTOMER_WITH_PRIMARY_GROUP a WITH (NOLOCK)
    JOIN (Select hv.customer_no From vs_ticket_history a1 WITH (NOLOCK)
    JOIN V_CUSTOMER_WITH_HOUSEHOLD hv ON a1.customer_no = hv.expanded_customer_no
    Where a1.perf_dt >= getdate() - 365
    Group By hv.customer_no, convert(varchar(25), a1.perf_dt, 101)
    Having count(distinct a1.perf_no) >= 2) as e ON e.customer_no = a.customer_no
    Where IsNull(a.inactive, 1) = 1

    This code searches households that have purchased tickets to more than one performance where the performance date is in the last 365 days.

    Hope this helps - if not - just shout out!

    Martin 

Children