私は現在、データベース内に同じ列を持つ2つのテーブルを持っています。 内部のデータは異なりますが、それらを1つのテーブルに組み合わせてクエリを行う必要があります。どのように私はお互いを上書きすることなく2つのテーブルを選択できますか?
私はジョインで試しましたが、どういうわけか私はそれが他のものを上書きすることになります。
私は現在、データベース内に同じ列を持つ2つのテーブルを持っています。 内部のデータは異なりますが、それらを1つのテーブルに組み合わせてクエリを行う必要があります。どのように私はお互いを上書きすることなく2つのテーブルを選択できますか?
私はジョインで試しましたが、どういうわけか私はそれが他のものを上書きすることになります。
と一致することを選択を精緻化する必要があり、このようなあなたの最初のテーブル:
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50));
と(同じフィールドを持つ)2番目のテーブルのように:
:CREATE TABLE customer2
(First_Name char(50),
Last_Name char(50),
Address char(50));
あなたはこのようなUNION文を望みます
SELECT * from customer
UNION
SELECT * from customer2;
もちろん、SELECT *ではなく、特定のフィールドを選択することができます。
joinを使用する場合は、 "duplicate"列のエイリアスを追加する必要があります。何かのように
a.mycolumn as column, b.mycolumn as column2
「SQL AS」にチェックを入れてください。 幸運
SELECT * FROM table1 UNION SELECT * FROM table2
はテーブルが同じである必要はありません、このソリューションをhttp://dev.mysql.com/doc/refman/5.0/en/union.html
を参照してください。
SELECT a.id AS id1, b.id AS id2 FROM table_1 a INNER JOIN table_2 b
あなたは、彼らが1にあったかのように両方のテーブルからデータを取得したい場合は、UNIONを使用するようにしてください:
SELECT * FROM tab1
UNION
SELECT * FROM tab2
注:両方のテーブルがまったく同じ列を持っている場合にのみ機能します。そうしないと、
は、あなたが作成したとしましょうあなたがUNIONをやりたい...あなたは参加したくない列
結果データはどこに必要ですか?すべてのデータを1つから別のデータに移動するか、3番目のテーブルのすべてのデータに移動しますか? – CyberDude