4

RIGHT テーブルに一致するものがない LEFT テーブルのレコードが必要な単純な LEFT JOIN クエリを試しています。

SELECT
LeftTable.ID,
RightTable.ID as NullID
FROM
LeftTable
LEFT OUTER JOIN RightTable ON RightTable.ID = LeftTable.ID

では、結果に NullID が NULL のレコードのみが含まれる行を選択するにはどうすればよいでしょうか? 必要なものは LEFT OUTER JOIN だと思いましたが、すべての Left レコードが一致する右レコードと一致しない右レコードで返され、一致しない右レコードを持つ左レコードのみが必要です。データベース エンジンは InnoDB です。

たとえば、クエリは次を返します。

LeftTable.ID, NullID
1, 1
2, Null

結果2のみが必要です。つまり、NullID = Nullの場合

次のLEFT JOINを試してみましたが、これは私が試してきた種類のクエリですが、「[Err] 1054 - 不明な列 'NullID' in 'where clause'」というエラーが表示されます。

SELECT
LeftTable.ID,
RightTable.ID as NullID
FROM
LeftTable
LEFT JOIN RightTable ON RightTable.ID = LeftTable.ID
where NullID = Null;

うまくいけば、これで私の問題が説明されます。ありがとう。

4

2 に答える 2