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

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

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

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

select * from t1 where nvl(col1,'') nvl(col2,'')

col3 not in (select col1col2col3 from t2)

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航