Recently, I had a problem with a query in SQL. The problem as follows:
I have a 2 tables called “old” & “new”. Both have the same structure and the columns “key1”, “key2” and “description”. Furthermore the table “new” contains a subset of the entries from “old” and additional ones.
Now I want to delete from the “old” table, all the entries which do not occur in “new”. The problem is, rather “key1” nor “key2” is unique, only the combination of both.
Example entrys:
Old:
key1, key2, description
1, 2, "Hello"
1, 3, "World"
2, 3, "!"
New:
key1, key2, description
1, 3, "World"
2, 3, "!"
I tried the following sql statement, but it didn’t work (at least in Access97)
DELETE
FROM old
WHERE old.key1<>new.key1 AND old.key2 <> new.key2
Does anyone have an idea on how to delete all the entries from old, which do not appear in “new” under the constraint that the combination of key1 and key2 are unique?
You can also check for the description match