私はSQLに少し慣れていないので、ご容赦ください。
それぞれ ID 列を持つ 2 つのテーブルがあります。テーブル A には役割というタイトルの列があり、テーブル B には結果というタイトルの列があります。これらのテーブルにクエリを実行して、ID に基づいてロール = 'PS' と結果 = 'DE' を持つ行を見つけたいと考えています。これが私のコードです:
SELECT count(*)
FROM A JOIN B
ON (A.id = B.id
AND A.role = 'PS'
AND B.outcome = 'DE')
A.roleまたはB.outcomeのいずれかにnull値を持つ行が含まれないように、これを行う方法をインターネットで検索してきました。
上記のコードは、B.outcome = 'DE' である B のエントリの総数が 40,000 しかないにもかかわらず、たとえば 40,100 を返します。したがって、明らかに私の条件に合わないエントリが含まれています。クエリをより適切に絞り込む方法はありますか?