Find Duplicate Records Query
with TempT as
(
Select LOCATION_ID_FK,PRODUCT_BARCODE_FK, row_number() OVER (PARTITION BY LOCATION_ID_FK,PRODUCT_BARCODE_FK order by LOCATION_ID_FK ) C
from stock z where STK_DATE = '13-02-22'
group by LOCATION_ID_FK,PRODUCT_BARCODE_FK,StockId
)
Select * from TempT where c > 1
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Delete Duplicate Records in oracle
Delete from zrs_stock a where a.rowid in (select rowid from (select rowid, row_Number() over(partition by STK_LOCATION_ID_FK,STK_PRODUCT_BARCODE_FK order by rowid) dup
from zrs_stock where STK_DATE = '20-02-22')
where dup > 1);
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
this will not work in oracle this query will work in sql
with TempT as
(
Select LOCATION_ID_FK,PRODUCT_BARCODE_FK, row_number() OVER (PARTITION BY LOCATION_ID_FK,PRODUCT_BARCODE_FK order by LOCATION_ID_FK ) C
from stock z where STK_DATE = '13-02-22'
group by LOCATION_ID_FK,PRODUCT_BARCODE_FK,StockId
)
Delete from TempT where c > 1
0 Comments