Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->数据库应用 ->Oracle ->正文

oracle中的联合主键查询问题!

来源:Linuxdby.com 作者:Webmaster 时间:2007-06-03 点击: [收藏] [投稿]

     最近要进行导数的工作,从好几张表中导入到一张表,其中数据可能重复,所以在导入之前要进行数据的比对。
     方法一:我用group by having count(*)>1将重复的数据提取出来,然后进行人工比对,事实证明,有够笨的!
     方法二:请教了一位资深人员,提供了一个更好的方法。就是将三个字段连接起来作为主键,进行数据是否重复的判断。这里值得注意的是某列的值可能为空,所以要赋一个空字符串过去。

select * from t1 where  nvl(col1,'')|| nvl(col2,'')|| col3 not in (select col1||col2||col3  from t2),然后将不重复的值,插入t2就可以了。

http://www.cnblogs.com/xiazhaoxia/archive/2006/09/27/516380.html



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:ORACLE8I转换数据到SQL SERVER   下一篇:保持Oracle数据库优良性能的若干诀窍

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号