-1

目標:
テーブル a および b からのデータを宛先テーブル c にロードします。

問題:
a と b の 2 つのテーブルがあり、それらを同じテーブル c に移行する必要があります。

一度に 1 つのテーブルをロードする必要があります。テーブル c にロードされる場合、テーブル a の基準はアクセス 1 であり、テーブル b のアクセスは 2 であると定義する必要があります。

問題は
、テーブル c の基準をどのように作成するかです。

テーブル c の要求された結果:

table c
----------
number access gender
--------------------
1      1      2
1      2      2
2      2      2
3      1      1
4      2      1
5      1      2
5      2      2

table a
----------
number access gender
--------------------
1      1      2
2      1      2
3      1      1
4      1      1
5      1      2


table b
----------
number access gender
--------------------
1      2      2
2      2      2
3      2      1
4      2      1
5      2      2


table c
----------
number access gender
--------------------
1      1      null
1      2      null
2      2      null
3      1      null
4      2      null
5      1      null
5      2      null
4

1 に答える 1

0

私はあなたがやろうとしていることを理解していると思います。次のような MERGE ステートメントをいくつか使用してみてください。

MERGE c AS target
USING a AS source 
ON (target.number = source.number, target.access = source.access) 
WHEN MATCHED THEN 
UPDATE SET target.gender = source.gender
WHEN NOT MATCHED BY target THEN 
INSERT (number, access, gender) 
VALUES (source.number, source.access, source.gender)

MERGE c AS target
USING b AS source 
ON (target.number = source.number, target.access = source.access) 
WHEN MATCHED THEN 
UPDATE SET target.gender = source.gender
WHEN NOT MATCHED BY target THEN 
INSERT (number, access, gender) 
VALUES (source.number, source.access, source.gender)
于 2013-03-06T09:02:52.297 に答える