то криво работает IS NULL? Точнее не криво, а не так как ожидается
Результат этого запроса
SELECT *
FROM table1 t1
LEFT JOIN table2 t2 ON (t1.some_id = t2.id)
WHERE t2.some_boolean IS NULL
отличаетася от
SELECT *
FROM table1 t1
LEFT JOIN table2 t2 ON (t1.some_id = t2.id)
WHERE t2.some_boolean NOT IN(true, false)
потому что (null NOT IN(true, false)) это null
То есть NOT IN(true, false) это правильная конструкция, а не костыль?
Синтаксически это правильная конструкцыя. Не очень понимаю, зачем она могла бы быть нужна.
Конструкция правильная) но бессмысленная
Ну вот я выше написал запрос https://t.me/pgsql/475738
Вам же ссылку прислали Выражение Поле not in (true,false), в случае значения поля null даст null
Я хотел уточнить как это возможно исправить
А первый запрос чем не устраивает?
Результат другой. То есть нужен результат как в варианте not in (true,false)
Там не будет ни одной строчки, есличо.
То есть можэте просто выкинуть эти все таблицы и их джойны -- будет тот жэ результат, притом быстро.
Что может быть not in (true, false), вы сами то проверьте просто )))))
Ну это мы всегда успеем, спасибо) Я пытаюсь понять как же эту хню исравить
Не ясно что исправить 😂
Обсуждают сегодня