आप निम्न क्वेरी का उपयोग करके इसे प्राप्त कर सकते हैं:
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)
मुझे लगता है कि आपको केवल उन रिकॉर्ड्स को हटाना होगा जहां यह netamount = 0
. है , अगर नहीं तो नीचे कमेंट करें।
यदि आप एक गैर-शून्य प्रविष्टि को बनाए रखना चाहते हैं और अन्य सभी को हटाना चाहते हैं (सभी शून्य के मामले में, शून्य के साथ एक प्रविष्टि netamount
के रूप में बनाए रखा जाएगा) तो आप निम्न क्वेरी का उपयोग कर सकते हैं:
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
);
चीयर्स!!