当前位置:操作系统 > Unix/Linux >>

注意:Oracle中的联合主键查询问题

最近要进行导数的工作,从好几张表中导入到一张表,其中数据可能重复,所以在导入之前要进行数据的比对。

  方法一:我用group by having count(*)>1将重复的数据提取出来,然后进行人工比对,事实证明,有够笨的!

  方法二:请教了一位资深人员,提供了一个更好的方法。就是将三个字段连接起来作为主键,进行数据是否重复的判断。这里值得注意的是某列的值可能为空,所以要赋一个空字符串过去。

  


  

  

  

  

  


  
select * from t1 where  nvl(col1,"")|| nvl(col2,"")|

  | col3 not in (select col1||col2||col3 from t2)


  


  


  然后将不重复的值,插入t2就可以了。

  (T114)

  本文来自:http://doc.xiaoyaxiao.com/79427.html
发表您的高见!
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,