Thursday, November 16, 2017

SQL for update rows of a table from another table

MERGE INTO BOARD_RESULT_DATA D --updated table
   USING (select * from SCRUTINY) S -- Source Table
   ON (D.ROLL_NO = S.ROLL_NO AND D.REGNO=s.REGNO and d.BOARD_NAME = = S.BOARD_NAME)
   WHEN MATCHED THEN UPDATE SET D.GPA = S.GPA,D.LTRGRD=S.LTRGRD,D.RESULT = S.RESULT,D.RES_DETAIL = S.RES_DETAIL,D.RES_MAIL = S.RES_DETAIL;

SQL for DELETE duplicate rows

delete from BOARD.BOARD_RESULT_DATA
 where rowid IN ( select rid
                    from (select rowid rid,
                                 row_number() over (partition by
                         ROLL_NO, REGNO, PASS_YEAR, BOARD_NAME
                                   order by rowid) rn
                            from BOARD.BOARD_RESULT_DATA)
                   where rn <> 1);

SQL for checking duplicate rows

SELECT        ROLL_NO, REGNO, BOARD_NAME, PASS_YEAR, COUNT(1) as CNT
FROM         BOARD.BOARD_RESULT_DATA
GROUP BY    ROLL_NO, REGNO, BOARD_NAME, PASS_YEAR
HAVING        COUNT(1) > 1;

Another Process


Select ROLL_NO, REGNO, PASS_YEAR, BOARD_NAME
       , count(*) as Occurrences
from BOARD.BOARD_RESULT_DATA
HAVING count(*) > 1
group by ROLL_NO, REGNO, PASS_YEAR, BOARD_NAME