Я довольно новичок в SQL, поэтому любая помощь будет высоко ценится
У меня есть таблица, содержащая список имен таблиц в столбце таблицы, и мне нужно получить столбец с именем [Last Refreshed] из всех перечисленных таблиц.Все таблицы имеют разную структуру, но все они имеют столбец [Last Refreshed].Мне удалось вставить имена таблиц в переменную sql, но до этого момента я застрял.Я надеюсь, что мне удалось объяснить, что мне нужно, но я также приложил свой код.
Declare @tables nvarchar(max)
Declare @sql nvarchar(max)
Declare @cnt int
DECLARE @Counter int
SET @Counter = 1
DECLARE @RowCount INT
SET @RowCount = (SELECT COUNT(*)
FROM (
SELECT * FROM TABLE_LIST1
UNION
SELECT * FROM TABLE_LIST2) data )
DROP TABLE #DB_DUMMY
CREATE TABLE #DB_DUMMY (
[TABLENAME] VARCHAR(512),
[LAST_REFRESHED] VARCHAR(533)
);
WHILE ( @Counter <= @RowCount)
BEGIN
SELECT @tables = FinalTable, @cnt = Row_num from (
SELECT FinalTable , ROW_NUMBER() OVER(ORDER BY FinalTable DESC) AS Row_num
FROM (
SELECT FinalTable FROM TABLE_LIST1
UNION
SELECT FinalTable FROM ABLE_LIST2) data
group by FinalTable) a
where Row_num = @Counter
--This part doesnt work
INSERT INTO #DB_DUMMY(TABLENAME,LAST_REFRESHED)
SELECT @tables , [Last Refreshed] from @tables
SET @Counter = @Counter + 1
END
exec(@sql)
Я ожидаю увидеть список имен таблиц, а также последнее обновление во временной таблице # DB_DUMMY