• SELECT a.id,

    CASE WHEN match_found.address_id IS NULL THEN '' ELSE address1 END AS address1,

    CASE WHEN match_found.address_id IS NULL THEN '' ELSE address2 END AS address2

    --,...other a. columns--

    FROM tableA a

    OUTER APPLY (

    SELECT TOP (1) b.address_id

    FROM tableB b

    WHERE b.address_id = a.id

    AND EXISTS(

    SELECT 1

    FROM tableC c

    WHERE c.contactinformation = b.id

    )

    ) AS match_found

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.