如何为数据迁移制定标准

时间:2013-03-06 08:41:24

标签: sql sql-server data-migration

目标:
使用表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

1 个答案:

答案 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)