Вам потребуется несколько внешних таблиц.
Поскольку существует смещение данных, я думаю, вам следует создать отдельные таблицы для каждой комбинации столбцов, которые у вас есть, и создать представление (с union all
) поверх них для отображенияданные.
Таким образом, у вас будет
table 1 : columns : c1, c2, c3, c4, c5
table 2 : columns : c1, c2, c3, c4, c5, c6, c7
table 3 : columns : c1, c2, c3, c5, c6, c7
представление как
select c1, c2, c3, c4, c5, '' c6, '' c7 from table1 union all
select c1, c2, c3, c4, c5, c6, c7 from table2 union all
select c1, c2, c3, '' c4, c5, c6, c7 from table3
Если появится другая комбинация, вам нужно создать 4-ю таблицу и обновить определение представления..