【问题标题】:How to Make Critera for Data migration如何制定数据迁移标准
【发布时间】:2013-03-06 08:41:24
【问题描述】:

目标:
使用表 a 和 b 中的数据加载目标表 c。

问题:
我有两个表 a 和 b 需要迁移到同一个表 c 中。

需要一次加载一个表。当加载到表 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

【问题讨论】:

    标签: sql sql-server data-migration


    【解决方案1】:

    我想我明白你在做什么,尝试使用几个像这样的 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-28
      • 2017-08-18
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      相关资源
      最近更新 更多