当前位置:   article > 正文

merge into的用法_merge into用法

merge into用法
merge into t1 using t2 on t1.yhangh=t2.yhangh
when matched then update set t1.ygongh_now=t2.ygongh,t1.bilifc_now=t2.bilifc
when not matched then insert (yhangh,ygongh_now,bilifc_now) values(t2.yhangh,t2.ygongh,t2.bilifc)
  • 1
  • 2
  • 3

merge into 的用法:如上例子,表示的是表t1和表t2的字段关联,若关联上则将表t1中的两个字段替换为表t2中查询出来的值,若关联不上,则插入一条数据

实际上应用(曾用到的一个例子)
平时我们用到的关联,可以将两个表通过某个字段关联,即得到新的有关所需要的信息,但表中关联的字段必须唯一,否则会产生笛卡尔积,若需要将两个表通过字段不唯一关联,而又避免笛卡尔积,此时可以使用merge into
若源表t1中有yhangh、ygongh、bilifc
t2中有yhangh、ygongh、bilifc
两个表中yhangh可以相互关联,ygongh和bilifc字段不一致
需要展示成yhangh、ygongh_pre、bilifc_pre、ygongh_now、bilifc_now的样式,若没有的字段显示为空
建立新表a,表中包含所需要的字段
先将表t1中的字段插入表a,ygongh、bilifc对应为ygongh_pre、bilifc_pre
然后使用上述merge into 用法,已经存在yhangh的将ygongh_now,bilifc_now为空的替换为表t2的值
不存在yhangh的插入字段yhangh、ygongh_now、bilifc_now,当人ygongh_pre,bilifc_pre没有值即为空

当然给表t1,t2通过使用row_number() over(partition by bilifc order by yhang desc)各生成组内连续且唯一数字num1,num2,然后根据yhangh,num去full join内关联,也是可以避免笛卡尔积达到上述效果的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/806752
推荐阅读
相关标签
  

闽ICP备14008679号