У меня есть запрос, который выбирает из нескольких таблиц с помощью соединения. Я хочу выполнить этот запрос из разных баз данных через цикл.Выберите UNION из нескольких таблиц с помощью переменной
я достиг, что с помощью упрощенного (запроса):
DECLARE @intCounter int
SET @intCounter = 1
DECLARE @tblBedrijven TABLE (ID int identity(1,1),
CompanyName varchar(20),
DatabaseTable varchar(100))
INSERT INTO @tblBedrijven VALUES ('001-CureCare', '<TABLE/ DATABASE1> AUS'),
('002-Cleaning', '[global_nav5_prod].[dbo].<TABLE/ DATABASE2>] AUS')
DECLARE @strCompany varchar(20)
DECLARE @strTable varchar(100)
WHILE (@intCounter <= (SELECT MAX(ID) FROM @tblBedrijven))
BEGIN
SET @strTable = (SELECT DatabaseTable FROM @tblBedrijven
WHERE ID = @intCounter)
SET @strCompany = (SELECT CompanyName FROM @tblBedrijven
WHERE ID = @intCounter)
EXEC('SELECT ''' + @strCompany + ''' as Company,
AUS.[User],
AUS.[E-mail]
FROM' + @strTable)
SET @intCounter = @intCounter + 1
END
Моя проблема заключается в том, что в результате создает отдельные таблицы 2 (для каждого цикла). Я хочу объединить результаты, но понятия не имею.
Любые предложения?
Заранее спасибо.
Благодарим за ответ, но ответ на этот вариант (затронутый 2-й ряд (-ы)) вместо того, чтобы вернуть фактический результат. Поэтому по какой-то причине это не выполняется, как должно. – user3156322