Я хотел бы выполнить одно левое соединение из таблицы a в таблицу b по идентификатору транзакции
select a.*, b.*
from tablea a
left join tableb b on b.transaction_id = a.transaction_id
Однако бывают случаи, когда идентификатор транзакции в любой таблице отсутствует, и в этом случае я хотел бы вернуться к присоединению к a.user_id = b.user_id. Если user_id также отсутствует, тогда хорошо, я все равно хочу сохранить все записи из.
Есть ли способ сказать postgres попробовать присоединиться к одному полю, и если он отсутствует в какой-либо таблице, затем попробовать присоединение к другому полю?
Есть ли способ сделать это?