У меня есть набор таблиц, из которых я хотел бы построить представление, например:
Участник
ID ¦ Name
---¦------
1 ¦ John
Сделка
ID¦ MemberID
--¦-----------
1 ¦ 1
TransactionPart
ID ¦ TransactionID ¦ SchemeID ¦ Value
---¦---------------¦----------¦-------
1 ¦ 1 ¦ 1 ¦ 150
2 ¦ 1 ¦ 2 ¦ 50
Схема
ID ¦ EmailAddress
---¦--------------
1 ¦ x@x.com
2 ¦ y@y.com
Типичная строка в представлении будет содержать Имя участника, общую стоимость транзакции и ЛЮБОЙ адрес электронной почты одной из схем, к которым относятся части транзакции.
Например:
Name ¦ TotalValue ¦ Email Address
-----¦------------¦---------------
John ¦ 200 ¦ x@x.com
Я привел этот комментарий ниже, но он возвращает 2 отдельные строки, если адреса электронной почты различаются.
SELECT
m.Name as Name, SUM(tp.Value) as TotalValue, s.EmailAddress as EmailAddress
FROM
Member m INNER JOIN
Transaction t ON m.ID = t.MemberID INNER JOIN
TransactionPart tp ON tp.TransactionID = t.ID INNER JOIN
Scheme s ON s.ID = tp.SchemeID
GROUP BY
m.Name, s.EmailAddress
Результат:
Name ¦ TotalValue ¦ Email Address
-----¦------------¦---------------
John ¦ 150 ¦ x@x.com
John ¦ 50 ¦ y@y.com
Как мне вернуть единственную строку, содержащую один из адресов электронной почты (возможно, только первый найденный) с суммарным значением итога? Возможно ли это, учитывая приведенные примеры?
Заранее спасибо за любые комментарии / ответы!