ADATA テーブルと CDATA テーブルの両方にあるレコードのデータを表示する次のスクリプトがあり、姓と名が一致しています (両方のテーブルで同じフィールドのみがあります)。
SELECT
c.asdf AS ASDF,
CONCAT(a.genr, ' ' ,a.firstname, ' ' ,a.lastname) AS Name,
a.rcvdate AS Report_Date,
c.enroll AS Enroll_Date,
a.cvb AS CVB,
c.pctcomp AS Percent_Complete
FROM
adata a,
cdatas c
WHERE
a.firstname = c.firstname
AND a.lastname = c.lastname
ここから行う必要があるのは、ADATA にあるが CDATA にはないレコードのリストと、ADATA にない CDATA のレコードのリストを取得することです。スクリプトの WHERE 部分で使用するさまざまなバリエーションをすべて試しNOT
ましたが、常に ADATA のレコードの総数である 800 になりました (CDATA テーブルには 130 レコードしかありません)。
これを正しく行う方法はありますか?