where in (sub query) vs join
I think you can move your subquery onto the join condition, as you're just looking for customers' transactions before or on 1st Jan 2013. 

SELECT  C.Customer_id,
        C.tran_id,
        t.date
    FROM CUSTOMERs C
    INNER JOIN TRANSACTIONS T ON c.Customer_id= t.Customer_id
    AND t.tran_Date &lt;= '2013-01-01'
  WHERE  C.Customer_id NOT IN(1,2,3)