Два основных варианта:
1) Выберите его как обычно (с двумя строками, по одной для каждого письма), затем используйте оператор pivot
для выравнивания.
Пример pivot
(я называю это примером, как я написал его в блокноте. Это может быть немного неправильно, но это должно указать вам правильный путь):
select
CustomerID,
FullName
[1] as WorkEmail,
[2] as HomeEmail
from
(select
c.CustomerID, c.FullName, e.AddressText, e.AddressType
from
Customer c
join emails e on e.CustomerID = c.CustomerID) as Source
pivot (
AddressText
FOR AddressType in ([1], [2])
)
2) Присоединяйтесь к таблице электронной почты дважды, по одному разу для каждого типа адреса. Предложите внешние соединения, чтобы, если одно отсутствует, вы все равно получили другое.