Du könntest die entsprechenden Datensätze von vornherein ausschließen:
AND NOT EXISTS(select * from Tabelle_A aa WHERE aa.spalte1 = b.spalte1 and aa.spalte2 == b.spalte2)
Ich habe mich jetzt dazu entschieden, Doppel aus der CopySource-Tabelle in eine Delete-Tabelle zu verschieben und auch Doppel bezogen auf die CopyDestination-Tabelle.
INSERT INTO tabelle_Del
( Spalte1,
Spalte2,
Spalte3
uid)
SELECT
Spalte1,
Spalte2,
Spalte3
FROM tabelle_CopySource t
WHERE
((Spalte1, Spalte2)
IN
(SELECT Spalte1, Spalte2
FROM tabelle_CopySource
GROUP BY Spalte1, Spalte2
HAVING COUNT(*) > 1))
OR
(EXISTS
(select * from tabelle_CopyDest aa
WHERE
aa.Spalte1 = t.Spalte1 AND aa.Spalte2 = t.Spalte2)
)
Gibts irgendeinen Kniff, sie auch direkt aud der CopySource zu löschen oder muß ich dazu noch eine eigene Query machen?
Raik