I have two tables. The primary key for both tables is comprised of 2 columns.
How do I delete any records in table 1 that are not in table 2.
e.g.
if this was the data in the 2 tables
Table 1
col1 col2 col 3
0 0 0
0 1 0
Table 2
col1 col2 col3
0 0 0
I would like to delete the records containg the values 0, 1, 0 from table 1 because the is no record in table 2 with the values 0, 1 as the primary key.
Hi,
You can do this as follow (by suggesting that COL1 and COL2 are the key columns):
DELETE FROM table1
FROM table1
LEFT OUTER JOIN table2
ON table1.COL1 = table2.col1
AND table1.COL2 = table2.col2
WHERE table2.COL1 IS NULL
Greetz,
Geert
Geert Verhoeven
Consultant @. Ausy Belgium
My Personal Blog
|||Thanks a million. It seems strange to me the way the From caluse is included twice but it works!|||the following query will do..
Delete from table1 Where Not Exists(Select 1 From table2 Where table1.Col1=Table2.Col1 and Table1.Col2=Table2.Col2)
No comments:
Post a Comment