Объединение 2 разных, но довольно похожих таблиц - PullRequest
0 голосов
/ 30 сентября 2009

У меня есть 2 таблицы, которые похожи, но не совпадают, поэтому объединение невозможно. Мне нужно объединить таблицы, имея в виду около 40 столбцов, из которых только 20 являются общими для обоих. Есть идеи о лучшем подходе?

Table1

ActivityCategory    ActivityType   Nationality   Language
---------------------------------------------------------
Communication       Telephone      French        French
Meeting             Session        British       English


Table2

ActivityCategory    ActivityType   Nationality   Employment
-----------------------------------------------------------
Communication       Fax            American      Employed


Combined Table

ActivityCategory    ActivityType   Nationality   Language   Employment
----------------------------------------------------------------------
Communication       Telephone      French        French
Meeting             Session        British       English
Communication       Fax            American                 Employed

Ответы [ 3 ]

5 голосов
/ 30 сентября 2009

Сделайте UNION, но сначала вы должны сделать таблицы одинаковыми по структуре.

В SELECT для таблицы 1 добавьте столбец Занятость в качестве значения NULL

В SELECT для таблицы 2 добавьте язык в качестве столбца со значением NULL

SELECT ActivityCategory, ActivityType, Nationality, Language, NULL AS Employment
FROM Table1
UNION
SELECT ActivityCategory, ActivityType, Nationality, NULL AS Language, Employment
FROM Table1
1 голос
/ 01 октября 2009

Радж советует хорошо, но вы, вероятно, захотите сделать СОЮЗ ВСЕМ, а не СОЮЗ.

С BOL ,

UNION ALL включает все строки в результаты. Это включает в себя дубликаты. Если не указано, удаляются повторяющиеся строки.

Использование UNION платит цену, чтобы гарантировать отсутствие дубликатов, но в вашем случае, похоже, у вас все равно не будет дубликатов.

1 голос
/ 30 сентября 2009

Объединение, что можно объединить, а затем объединить остальные столбцы?

Довольно возможно, если вам нужно будет сделать это только один раз. Я предполагаю, что даже с целью его можно сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...