I have two tables invoice and so_salesorderde tail1, I want to delete those records from invoice which are not in so_salesorderde tail1.
these tables don't have any unique key so I am trying to make a composite key. I wrote the following two different queries but it doesn't seem working.
1.
DELETE FROM INVOICE
WHERE NOT EXISTS
(SELECT SO_SalesOrderDe tail1.SalesOrde rNo, SO_SalesOrderDe tail1.ItemCode
FROM SO_SalesOrderDe tail1 INNER JOIN INVOICE ON (SO_SalesOrderD etail1.ItemCode = INVOICE.Item_Co de) AND (SO_SalesOrderD etail1.SalesOrd erNo = INVOICE.Sales_O rder));
2.
DELETE INVOICE.*
FROM INVOICE
WHERE (((INVOICE.Sale s_Order) Not In (SELECT SalesOrderNo from SO_SalesOrderDe tail1)) AND ((INVOICE.Item_ Code) Not In (Select ItemCode from SO_SalesOrderDe tail1)));
Is there any other way I can delete unmatched records.
Mark
these tables don't have any unique key so I am trying to make a composite key. I wrote the following two different queries but it doesn't seem working.
1.
DELETE FROM INVOICE
WHERE NOT EXISTS
(SELECT SO_SalesOrderDe tail1.SalesOrde rNo, SO_SalesOrderDe tail1.ItemCode
FROM SO_SalesOrderDe tail1 INNER JOIN INVOICE ON (SO_SalesOrderD etail1.ItemCode = INVOICE.Item_Co de) AND (SO_SalesOrderD etail1.SalesOrd erNo = INVOICE.Sales_O rder));
2.
DELETE INVOICE.*
FROM INVOICE
WHERE (((INVOICE.Sale s_Order) Not In (SELECT SalesOrderNo from SO_SalesOrderDe tail1)) AND ((INVOICE.Item_ Code) Not In (Select ItemCode from SO_SalesOrderDe tail1)));
Is there any other way I can delete unmatched records.
Mark
Comment