目标:
使用表a和b中的数据加载目标表c。
问题:
我有两个表,a和b需要迁移到同一个表c中。
一次需要加载一个表。当加载到表c时,标准表格需要定义条件大多数是访问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
答案 0 :(得分: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)