is there something in the join that could be counting these records out?
Maybe in some cases "s.[to Date of service]" is NULL to indicate "no end date"?
SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.