一致しない行をテーブルから削除するにはどうすればよいですか? 関連レコードの大部分を含む 2 つのテーブルがあります。テーブル A はテーブル B に存在する必要があります。テーブル B のレコードがテーブル A に存在しない場合は、テーブル B のレコードを削除します。
データテーブルにデータを入力するようにコーディングし、各レコードを繰り返し処理して一致するかどうかを確認するのではなく、クエリを使用してこれを行う方法があることを願っています。
表A
keyID、foreignID、テキスト
表B
キー ID、レコード ID、テキスト
foriegnID と recordID は関連するフィールドです。これらのテーブルは私が設計したものではありません。
このようなもの....
DELETE * FROM TableB WHERE (SELECT [foreignID] FROM TableA) <> recordID;
更新:クエリで削除する必要があるレコードを取得できますが、単に削除したいと思います。
SELECT * FROM TableA LEFT JOIN TableB ON TableA.[foreignID] = TableB.[recordID] WHERE (((TableB.recordID) Is Null));
一連の Access データベースを処理するために vb.net を使用しています。