• I think what's happening is that the WHERE clause on the dates is turning your outer join into an inner join. It's difficult to visualise with no sample data, but try turning the WHERE clause into a join predicate, something like this:

    FROM co

    INNER JOIN coitem_log ON co.co_num = coitem_log.co_num

    LEFT OUTER JOIN item ON coitem_log.item = item.item AND coitem_log.activity_date between '7/1/2013 00:00:00:000' and '7/31/2013 23:59:59:99

    RIGHT OUTER JOIN prodcode ON item.product_code = prodcode.product_code

    where co.end_user_type is Null

    John