Я угадываю имена столбцов, потому что они не понятны в вашем вопросе.Сначала создайте запрос, состоящий из 3 столбцов TransactionID, имя, квитанция.Это возвращает двойные строки из исходной таблицы: 1 строка для отправителя и квитанции и 1 строка для получателя и квитанции.Из этого результата получают только те строки, которые имеют максимальный идентификатор для каждого имени (snder или получатель):
WITH t AS(
SELECT TransactionID, Sender AS name, SenderReceipt AS receipt FROM transactions
UNION
SELECT TransactionID, Receiver AS name, ReceiverReceipt AS receipt FROM transactions
)
SELECT
name,
receipt
FROM t
WHERE
t.TransactionID = (
SELECT MAX(TransactionID)
FROM t AS tt
WHERE tt.name = t.name);