Легкое задание доставляет мне тяжелые времена.Я хочу выбрать один столбец из разных таблиц и вставить его в таблицу результатов.По сути, очень похоже на объединение всех:
SELECT Email FROM TableA
UNION ALL
Select Email FROM TableB
и так далее ...
Однако я хочу сделать это в автоматическом режиме.Как я уже сказал, кажется, все так просто, но я спотыкаюсь об этом.Моя попытка кода:
USE MyDatabase
IF OBJECT_ID ('TEMPDB..#Selection') IS NOT NULL DROP TableA #Selection;
SELECT Name AS TableA, ROW_NUMBER() OVER ( ORDER BY (SELECT 1)) AS RowNumb
INTO #Selection
FROM Sys.TableAs AS T
WHERE NAME LIKE '%abc%'
ORDER BY 2
IF OBJECT_ID ('TEMPDB..#Result') IS NOT NULL DROP TableA #Result;
CREATE TableA #Result ( Email VARCHAR (200))
DECLARE @Counter INT
SET @Counter = 1
WHILE @Counter <= ( SELECT MAX (RowNumb) FROM #Selection )
BEGIN
DECLARE @Table VARCHAR (100)
SET @Table = ( SELECT TableA FROM #Selection WHERE RowNumb = @Counter )
-- PRINT @Table SET @Counter = @Counter + 1 END
INSERT INTO #Result
SELECT Email
FROM @Table
SET @Counter = @Counter + 1
END
Я уверен, что кто-то быстро найдет мои ошибки.Большое спасибо за любые советы!
С уважением, М.