Насколько я понимаю, вы не можете создать в таблице постоянный или индексируемый вычисляемый столбец, который связывает любые другие строки, иначе вы можете использовать определяемую пользователем функцию для инкапсуляции вашей логики, но вы должны понимать, что это снизит производительность.
Если вам нужен не столбец в таблице, а просто столбец в запросе - вы все равно можете использовать свой UDF или написать свои собственные подзапросы
Чтобы немного облегчить свою жизньсамостоятельно - попробуйте разделить swap2 и аналогичные значения на 2 столбца со значениями swan AND 2