To avoid the overhead of reading everything every time, you would probably want to de-normalise your model and store the "balance at time of draw" in another table.
I argues that point with my co-worker but he thought it would be less efficient to store the balance in another table and have triggers to increment/decrement the balance.

A draw encompases all of the tickets that are available to win a prize, its a lotto, gambling type thing ;-)

Tickets are purchased by the participants (tickets range in numbers from 1-4000) up to 4000 can be entered in every draw.

When a participant purchases a ticket, they retain that number until it has not been used for 10 consecutive draws. This is *I think* why my co-worker was entering the unpaid draws into the ticket_sales table. So that he could find the consecutive draws easier?