1. ホーム
  2. postgresql

[解決済み] PostgreSQL の 'NOT IN' とサブクエリ

2022-03-08 09:30:51

質問

このクエリを実行しようとしています。

SELECT mac, creation_date 
FROM logs 
WHERE logs_type_id=11
AND mac NOT IN (select consols.mac from consols)

しかし、結果が出ません。テストをしてみて、構文に何か問題があることがわかりました。MySQLでは、このようなクエリは完全に動作します。私は1つの行を追加して、それがあることを確認しました。 mac の中に存在しない consols テーブルを作成しましたが、まだ結果は得られていません。

どうすればいいですか?

NOT INを使用する場合、どの値もNULLでないことを確認する必要があります。

SELECT mac, creation_date 
FROM logs 
WHERE logs_type_id=11
AND mac NOT IN (
    SELECT mac
    FROM consols
    WHERE mac IS NOT NULL -- add this
)