Du kan uppnå detta genom att använda följande fråga:
delete from tabela.lorik O
where O.netamt = 0
AND EXISTS (SELECT 1 FROM tabela.lorik I
WHERE I.ID = O.ID AND I.netamt <> 0)
Jag antar att du bara behöver ta bort poster där det är netamount = 0
, Om inte, kommentera nedan.
Om du vill behålla en post som inte är noll och radera alla andra (för alla nollor, en post med noll som netamount
kommer att behållas) så kan du använda följande fråga:
DELETE FROM TABELA.LORIK O
WHERE
ROWID IN (
SELECT
RWID
FROM
(
SELECT
ROWID AS RWID,
ROW_NUMBER() OVER(
PARTITION BY ID
ORDER BY
CASE
WHEN NETAMT = 0 THEN 2
ELSE 1
END
) AS RN
FROM
TABELA.LORIK
)
WHERE
RN > 1
);
Skål!!