問題は、t1 と t2 の 2 つのテーブルがあることです。t1 には 3 つの列があり、t2 にはそれぞれ 2 つの列があります。t1 には 5 つのレコードがあり、t2 には 3 つのレコードがあるとします。t2 のレコードが最後のレコードの後にテーブル t1 に入るように、両方のテーブルをマージまたは結合したいと考えています。T1(c1、c2、c3) および T2(c2、c3) のような列を作成できます。ここで、c2 と c3 は両方のテーブルで同じデータ型であり、c1 は主キーまたは一意のキーとして作成されます。
質問する
104 次
4 に答える
1
これにより、2つのテーブルのすべての行が返され、T1の行がT2の行の前に表示されます。
select c1, c2, c3 from t1
union all
select null as c1, c2, c3 from t2
order by nvl2(c1, 0, 1) asc
C1の値がnullでない場合、NVL2()コマンドは0を返します。これは、T1のすべての行(主キー)に当てはまり、T2のすべての行に当てはまります。テーブルの順序は任意ですが、ORDERBY句に列を追加することで修正できます。
于 2012-07-30T13:04:49.770 に答える
0
投稿を正しく理解している場合は、 table にあるレコードを table に追加t2
しますt1
。
insert into t1 (c1, c2, c3) (select sequence_for_t1.nextval, c2, c3 from t2)
于 2012-07-30T12:07:41.090 に答える
0
あなたが使用することができます
UNION
複数のテーブルのレコードをマージする場合
于 2012-07-30T12:10:05.340 に答える