Я бы начал с объединения tableb
снова на columnb
в отдельном join
.
. На других объединениях вы можете использовать функцию ISNULL
, например, tablec.Id = ISNULL(tableba.columnA, tablebb.columnA)
.
Зависит от того, что вам нужно, и от ваших данных вы можете использовать UNION
/ UNION ALL
или COALESCE
для получения данных из правильного экземпляра tableb
.
И убедиться, что оба столбца в tableb
покрыты индексом.