oracle中的联合主键查询问题
来源:未知 责任编辑:责任编辑 发表时间:2014-01-26 22:01 点击:次
最近要进行导数的工作,从好几张表中导入到一张表,其中数据可能重复,所以在导入之前要进行数据的比对。
方法一:我用group by having count(*)>1将重复的数据提取出来,然后进行人工比对,事实证实,有够笨的!
方法二:请教了一位资深人员,提供了一个更好的方法。就是将三个字段连接起来作为主键,进行数据是否重复的判定。这里值得注重的是某列的值可能为空,所以要赋一个空字符串过去。 select * from t1 where nvl(col1,) nvl(col2,) col3 not in (select col1col2col3 from t2),然后将不重复的值,插入t2就可以了。
方法一:我用group by having count(*)>1将重复的数据提取出来,然后进行人工比对,事实证实,有够笨的!
方法二:请教了一位资深人员,提供了一个更好的方法。就是将三个字段连接起来作为主键,进行数据是否重复的判定。这里值得注重的是某列的值可能为空,所以要赋一个空字符串过去。 select * from t1 where nvl(col1,) nvl(col2,) col3 not in (select col1col2col3 from t2),然后将不重复的值,插入t2就可以了。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>