Может показаться глупым, но я все еще работаю через SQL, и я достиг своего ограничения на то, что я могу выписать.
Вот сценарий: у меня много SQL-серверов с несколькими базами данных.Мне нужно выполнить поиск в каждой базе данных, и, если таблица есть, вернуть результаты, затем объединить эти результаты вместе со вторичной базой данных.
Мне также нужно имя базы данных, в которой находится каждая из этих таблиц.
Запрос № 1, который возвращает важные данные
SELECT DISTINCT
datafeed_id AS 'Datafeed ID',
MAX(start_time) AS 'Start Time',
MAX(end_time) AS 'End Time',
MAX(status_id) AS 'Status',
MAX(DATEDIFF(mi, [start_time], [end_time])) AS 'Run Time'
FROM
dbo.tblDataFeedHistory
GROUP BY
datafeed_id
Запрос № 2, который возвращает информацию Supporting Query1, которая мне нужна.Заметьте, что здесь я вызывал каждую базу данных отдельно, но там могло быть n баз данных
CREATE OR ALTER VIEW [vAllDatabasesDataFeedResult]
AS
SELECT
Name = 'Instance',
[datafeed_name], [status], [is_active]
FROM
instance.dbo.tblDatafeed
UNION ALL
SELECT
Name = 'Instance1',
[datafeed_name], [status], [is_active]
FROM
Instance2.dbo.tblDataFeed;
Что бы я хотел видеть в результате вывода ВСЕХ баз данных в SQL, если они содержат таблицу dbo.tblDataFeed
| Database Name | Datafeed_name | Is_active | Status | Start_time | End_Time | Status_id | Runtime
Я бы предпочел, чтобы он возвращал результаты, создавая новое представление.
Заранее спасибо