Это похоже на выполнение двух левых соединений вместе с COALESCE
для выбора нужного адреса:
SELECT
u.name,
COALESCE(a1.address, a2.address) AS address
FROM user u
LEFT JOIN address a1
ON u.id = a1.user_id AND
a1.address_type = 'Mailing'
LEFT JOIN address a2
ON u.id = a2.user_id AND
a2.address_type = 'Home';
Приведенные выше логики c сначала выберут почтовый адрес для каждого пользователь, если он будет доступен. В противном случае по умолчанию будет использоваться домашний адрес.