Если вам нужны две транзакции, вы можете использовать:
select t1.*, t2.*
from transactions t1 join
transactions t2
on t1.txn < t2.txn
ordre by abs(50 - (t1.amount + t2.amount))
fetch first 1 row only;
Вы не указали свою базу данных, поэтому здесь используется стандартный SQL.