FULL OUTER JOIN に値条件を追加する必要があります。
つまり、私はこれをしようとしています:
SELECT *
FROM Table1
FULL OUTER JOIN Table2 ON Table1.Field1 = Table2.Field1 AND Table2.Field2 > 5
しかし、このスクリプトは機能しません。実際には、条件 (Table2.Field2 > 5) はまったく適用されていないようです。
RIGHT OUTER JOINでも同様の問題が発生するので、RIGHTまたはFULL結合の場合、結合で右側のテーブルに無値条件が適用されることが原因だと思います。
なぜこうなった?そのような行動の概念的な説明はありますか?
もちろん、主な問題は、この問題をどのように解決するかです。
サブクエリを使用せずにこれを解決する方法はありますか?
SELECT *
FROM Table1
FULL OUTER JOIN (SELECT * FROM Table2 WHERE Table2.Field2 > 5) AS t2 ON Table1.Field1 = t2.Field1