2016-04-29 6 views
3

SQLの列をマージする、またはテーブルの列を追加することで、必要のないさまざまな結果が得られるため、この問題の解決方法を見つけるのが難しいです。私が例を挙げて説明するほうがはるかに簡単です。SQLの同じテーブルの列をマージする

私は2つのテーブルがあります。私は、同様の列が基本的に組み合わされて、これらのテーブルをマージしたい

表1

ColA ColB ColC 
0  A  AL 
1  B  DZ 

表2

ColA ColB ColC 
2  C  IS 
3  D  KA 

を私は同じ構造のテーブルと、すべての値を持っています。だから、出力は次のようになります。

出力

ColA ColB ColC 
0  A  AL 
1  B  DZ 
2  C  IS 
3  D  KA 

問題は、私は2つの同様の構造のテーブルからこれらの列にわたって個別の値を見つけたいので、私は私が参加をどのように使用できるかを見ることができませんこれは、いずれかの値に結合するかのように、他の値は失われ、複数フィールドの結合は機能していないようです。

答えて

7

あなたが重複行を維持したい場合は、UNION ALLを使用することができ、あなたが、結果セットから重複行を削除したい場合は、以下でUNIONを使用することができます。UNION ALLが速くUNION

より取り組んでいることを

SELECT ColA, ColB, ColC 
FROM Table1 

UNION ALL 

SELECT ColA, ColB, ColC 
FROM Table2 

注意を

+1

大感謝を使用することができます。できるだけ早くこれをマークします – dahui

1
select ColA, ColB, ColC from table1 
union 
select ColA, ColB, ColC from table2 
1

union演算子を使用すると、1つのクエリの結果をもう1つのクエリの後に置くことができ、elimina TESの重複が:

SELECT cola, colb, colc 
FROM table1 
UNION 
SELECT cola, colb, colc 
FROM table2 
1
select ColA, ColB, ColC from table1 
union 
select ColA, ColB, ColC from table2 

またUNION ALL