Две возможные архитектуры и подсказка для запроса.
1) Создайте свою таблицу со столбцом «Тип» и используйте его для пометки «основной» и «альтернативный». В вашем случае «А» против «Б» может быть уместным.
2) Создайте вертикальный раздел, две идентичные таблицы (для первичных и альтернативных данных), которые имеют общий первичный ключ. (Если Id = 42 находится в одной таблице, она должна быть в другой - если только «альтернативные» данные не являются обязательными, в этом случае не заполняйте вторую таблицу.) Также, опционально, есть третья таблица, которая отслеживает все возможные первичные ключи, вместе с любыми данными, которые, как известно, всегда являются общими для обеих таблиц.
Совет. Прочтите SELECT ... EXCEPT и SELECT ... INTERSECT. Они работают очень быстро и являются идеальным средством для сравнения всех столбцов и строк между двумя наборами данных на предмет различий (кроме) и совпадений (пересечение). Вы можете использовать это довольно легко с любой из этих двух структур, и это будет работать с вашим существующим кодом (хотя, возможно, будет сложнее написать запрос).