Если вы используете SQL-сервер ...
Вы можете использовать результат первого запроса - ввод для вашего курсора (цикл for в T-SQL), в котором вы динамически создаете и выполняетезапрос.Обратите внимание, что «dynamic sql» создает команду sql в формате строки (varchar), а затем запускает эту строку как sql-commant (что-то вроде: EXEC @SqlCommand), хотя есть и другие (более эффективные) способы выполнения динамического sql.
Чтобы закончить все хорошо, вы можете начать с создания временной таблицы и вставить результат в временную таблицу.И на каждой итерации курсора вы можете сохранить результат в temp-таблице
. В псевдокоде это будет выглядеть примерно так:
Create #TempTable with some columns
Create Cursor for:
select distinct(table_name)
from information_schema.columns
where column_name='fieldNeeded'
For each element in the cursor (fetch next @table_name from the cursor)
DECLARE @SqlCommand VARCHAR(250) =
'Insert Into #TempTable select * from ' + @table_name + 'where ... <parameters>'
PRINT @SqlCommand -- can be useful to check the code you created
EXEC @SqlCommand
End of cursor
SELECT * FROM #TempTable