Есть 2 таблицы для сравнения.Динамические поля в инструкции выбора в SQL
Таблица 1 является проверка таблицы, которая содержит все поля:
TAB1
KEY F1 F2 F3 F4
1A 70 61 58 91
1B 61 97 73 53
1C 96 16 32 92
Таблица 2 представляет собой подмножество таблицы 1 и загружаются из другого источника. В идеале соответствующие данные в обеих таблицах должны совпадать, но практически, будут различия. Например, ниже значение в столбце F3 для ключа 1C различно. Все остальное - то же самое.
TAB2
KEY F1 F3
1A 70 58
1C 96 10
Конец вывода мне нужно сравнение
KEY F1_CHK F1 F1_DELTA F3_CHK F3 F3_DELTA
1A 70 70 0 58 58 0
1C 96 96 0 32 10 22
поэтому выбор я смотрю на это как
select TAB1.F1, TAB2.F1 , (TAB1.F1-TAB2.F1) , TAB1.F3, TAB2.F3 , (TAB1.F3-TAB2.F3)
FROM TAB1 INNER JOIN
TAB2
ON KEY = KEY
Теперь проблема в том, что мне нужно это решение быть динамичным , Я имею в виду список полей в избранных I, выделены жирным шрифтом выше, должны быть основаны на полях таблицы подмножества (TAB2)
Шаг 1 должен быть, чтобы получить список полей в TAB1 Шаг 2 должен быть вы выбрали те поля из TAB1 и TAB2 (соответствующие имена полей всегда будут одинаковыми), а также вычислить их разницу. Так что в основном ожидаемый оператор select должен выглядеть так. выбрать динамический список полей на основе списка TAB2 поля ИЗ TAB1 INNER JOIN TAB2 ON KEY = KEY
Для списка полей в TAB1, я могу пойти в таблицу метаданных и Пиль .. Шаг 2 путает me .. Любая помощь будет отличной ..
Спасибо!