Задача.
Есть два SQL запроса, возвращающих сходный по своему физическому смыслу датасет, с большим количеством полей.
Задача: сравнить эти запросы и синхронизировать output интерфейс, то есть добавить недостающие поля из другого запроса.
В моем представлении для этого нужно иметь табличную функцию, которая распарсит строку sql query, и вернет для каждого возвращаемого из запроса поля его алиас в resultset, и и информацию о его источнике.
Например, для запроса
Функция вернет результат, аналогичный такому запросу:
Имея такую функцию, мы можем замаппить два списка полей из ResultSet-а запросов.
Вопрос: что-нибудь готовое на эту тему есть?
Пока не рассматриваем сложные случаи, с поздапросами и common table expressions.
Спасибо
Есть два SQL запроса, возвращающих сходный по своему физическому смыслу датасет, с большим количеством полей.
Задача: сравнить эти запросы и синхронизировать output интерфейс, то есть добавить недостающие поля из другого запроса.
В моем представлении для этого нужно иметь табличную функцию, которая распарсит строку sql query, и вернет для каждого возвращаемого из запроса поля его алиас в resultset, и и информацию о его источнике.
Например, для запроса
@SQL=’ SELECT p.[BusinessEntityID] ID, p.MiddleName [MN] FROM [AdventureWorks2014].[Person].Person p’;
Функция вернет результат, аналогичный такому запросу:
SELECT * FROM (VALUES ('p', '[AdventureWorks2014].[Person].[Person]','[BusinessEntityID]'), ('mn', '[AdventureWorks2014].[Person].[Person]','[MiddleName]') ) AS ParsingFunction(OutputAlias, SourseTable, SourseField);
Имея такую функцию, мы можем замаппить два списка полей из ResultSet-а запросов.
Вопрос: что-нибудь готовое на эту тему есть?
Пока не рассматриваем сложные случаи, с поздапросами и common table expressions.
Спасибо