私は2つのテーブルを完全に結合しています。テーブル 1 (LEAD) には 689,189 行があり、テーブル 2 (CONTACT) には 133,318 行があり、それらの完全外部結合は 738,959 行を返します。これまでのところ、これは理にかなっています。
各テーブルには、レコードが論理的に削除されているかどうかを示すフィールドがあり、Y
値はそれを意味します。に等しくない値を持つ両方のテーブルの行のみを返したいですY
。追加の条件をクエリに追加すると
select COUNT(*)
from LEAD l
full join CONTACT c on l.CONVERTEDCONTACTID = c.ID and l.DELETE_FLAG <> 'Y' and c.DELETE_FLAG <> 'Y'
それらがない場合よりも多くの行が返されます。クエリをより制限的にするべきではありませんか? サブクエリを使用して結合を実行できることはわかっていますが、この結果にどのように到達するのか理解できません。