You may try this
DELETE FROM "TMPTAB" WHERE "Product (key)" IN (SELECT A."Product (key)" FROM "TMPTAB" A inner join "DBTAB" B ON B."Release Date" IS NOT NULL AND TO_DATE(A."Date (key)",'DDMMYYYY') < TO_DATE(B."Release Date",'DDMMYYYY') AND A."Product (key)" = B."Product (key)") AND "Date (key)" IN (SELECT A."Date (key)" FROM "TMPTAB" A inner join "DBTAB" B ON B."Release Date" IS NOT NULL AND TO_DATE(A."Date (key)",'DDMMYYYY') < TO_DATE(B."Release Date",'DDMMYYYY') AND A."Product (key)" = B."Product (key)"); |
or the same thing constructed differently (for readability)
ABC = SELECT A."Product (key)", A."Date (key)" FROM "TMPTAB" A inner join "DBTAB" B ON B."Release Date" IS NOT NULL AND TO_DATE(A."Date (key)",'DDMMYYYY') < TO_DATE(B."Release Date",'DDMMYYYY') AND A."Product (key)" = B."Product (key)";
DELETE FROM "TMPTAB" WHERE "Product (key)" IN (SELECT "Product (key)" FROM :ABC) AND "Date (key)" IN (SELECT "Date (key)" FROM :ABC); |
Let me know if that works.
Regards
Ajay