0

私は2つのテーブルを持っていますが、それらは似ていますが同じではないので、結合することはできません。両方に共通するのは20列だけである、約40列があることを念頭に置いて、テーブルを組み合わせる必要があります。最善のアプローチに関するアイデアはありますか?

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
4

3 に答える 3

5

UNIONを実行しますが、最初にテーブルの構造を同じにする必要があります。

表1のSELECTで、NULL値列として雇用を追加します

表2のSELECTで、言語をNULL値列として追加します

SELECT ActivityCategory, ActivityType, Nationality, Language, NULL AS Employment
FROM Table1
UNION
SELECT ActivityCategory, ActivityType, Nationality, NULL AS Language, Employment
FROM Table1
于 2009-09-30T19:05:01.747 に答える
1

組合は何が組合になり、後で残りの列に加わることができますか?

あなたがそれを一度だけする必要があるならば、かなり可能です。視野があってもそれは可能だと思います。

于 2009-09-30T19:03:13.897 に答える
1

Rajの提案は良いですが、おそらくUNIONではなくUNIONALLを実行したいと思うでしょう。

BOLから、

UNION ALLは、すべての行を結果に組み込みます。これには重複が含まれます。指定しない場合、重複する行は削除されます。

UNIONを使用すると、重複がないことを保証するための代償が支払われますが、あなたの場合、とにかく重複がないように思えます。

于 2009-09-30T23:30:18.593 に答える