親子のようなテーブルが2つあります。親テーブルには、7211レコードがあります。チャイルドには、169498レコードがあります。これら2つのテーブルの間には、関係はありません(つまり、外部キーは設定されていませんが、parentIDを使用しています)。子テーブルには、余分なレコードと欠落しているレコードがあります。
サンプルとして、
Parent Table - tblParent
PID PName
A001 John
B002 Mary
... ...
Child Table - tblChild
PID TID Desc
A001 056 Book
Y004 087 Pen
... ... ...
私の質問は以下のようなものです、
SELECT PID
FROM tblParent
WHERE PID NOT IN
(
SELECT PID
FROM tblChild
)
実際の番号で実行します。レコードの中で、MSAccess2000は突然停止します。10レコードでテストすると、正しく動作します。主な原因は何ですか?レコードはありませんか?
私は別の方法を試します。
SELECT C.PID, P.PID
FROM tblChild C, tblParent P
WHERE C.PID <> P.PID
このとき、乗算結果が出ます。(つまり、すべてのP.PIDを含む1つのC.PIDを意味し、その後など...)
Access 2000で最短の実行時間内に余分なレコードや欠落しているレコードを取得するにはどうすればよいですか?