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.