извлекать данные из нескольких таблиц без связи между этими таблицами - PullRequest
0 голосов
/ 11 мая 2011

За каждую неделю я конвертировал лист Excel в базу данных SQL, этот лист Excel давал мне 30 таблиц привязок с той же структурой и определением полей, но между этими таблицами нет никакой связи.

Итак, я хочу объединить данные из этих 30 таблиц в одну таблицу. Я пытаюсь написать T-sql, чтобы сделать это, но мне не удается using INFORMATION_SCHEMA.Tables или sys.tables получить имена таблиц и продолжить выборку данных. из этих таблиц в одном запросе.

1 Ответ

3 голосов
/ 11 мая 2011

Чтобы объединить таблицы с одной и той же схемой:

SELECT * FROM Table1
UNION
SELECT * FROM Table2

Если вся ваша БД состоит из этих таблиц, вы сможете использовать процедуру sp_msforeachtable.

CREATE TABLE #TempTable (Col1 INT, Col2 NVARCHAR(50))
sp_msforeachtable 'INSERT INTO #TempTable (Col1 , Col2) SELECT Col1 , Col2 FROM ?'
SELECT * FROM #TempTable
DROP TABLE #TempTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...