日期:2014-05-17  浏览次数:20758 次

编写个存储过程
表结构
A(ID,SD,MG,DT)
检查数据MG这列是否有重复,并将重复数据查询出来

7902 FORD ANALYST 7566 
 7788 SCOTT ANALYST 7566 
 7782 CLARK MANAGER 7839
 7698 BLAKE MANAGER 7839 
 7566 JONES MANAGER 7839 
 7782 CLARK MANAGER 7839 
B表结构
TAB1         ——来源表        A    
TAB2      ——目标表   B
RESULT  —— 内容      ANALYST       manager                   
BCOUNT  ——统计数         2               5                
L_DATE   DATE         ——操作的系统时间 sysdate

编写个存储过程 实现如上内容!


 
------最佳解决方案--------------------

insert into TAB2
select TAB1.*
   from (select row_number() over (partition by t.MG order by t.ID) seq, t.MG
           from TAB1 t
        ) subt,TAB1 tt where tt.MG=subt.MG and subt.seq>1;

存储过程的话,你就将查出来的结果集存入到游标RESULT中,然后放入TAB2好了,
没看懂你时间的数据结构,自行加入时间的过滤
希望对你有帮助
------其他解决方案--------------------
我也没太懂,不过检查数据MG这列是否有重复,并将重复数据查询出来应该是以下的写法
select mg ,count(mg) from A group by mg having count(mg)>1
------其他解决方案--------------------
引用:
这个查询问题确实是解决了!
但是怎么样统计 那个相同的记录呢
 查TAB2表啊,或者在存储过程中多加一个输出参数好了
------其他解决方案--------------------
没读懂意思。。。
------其他解决方案--------------------
这个查询问题确实是解决了!
但是怎么样统计 那个相同的记录呢