172 похожих чатов

Приветствую. Подскажите пожалуйста почему в выборке с лефт джоином как

то криво работает 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)

14 ответов

23 просмотра

потому что (null NOT IN(true, false)) это null

Дмитрий- Автор вопроса
Konstantin Zaitsev
потому что (null NOT IN(true, false)) это null

То есть NOT IN(true, false) это правильная конструкция, а не костыль?

Дмитрий
То есть NOT IN(true, false) это правильная констру...

Синтаксически это правильная конструкцыя. Не очень понимаю, зачем она могла бы быть нужна.

Дмитрий
То есть NOT IN(true, false) это правильная констру...

Конструкция правильная) но бессмысленная

Дмитрий- Автор вопроса
Ilya Anfimov
Синтаксически это правильная конструкцыя. Не очен...

Ну вот я выше написал запрос https://t.me/pgsql/475738

Дмитрий
Ну вот я выше написал запрос https://t.me/pgsql/47...

Вам же ссылку прислали Выражение Поле not in (true,false), в случае значения поля null даст null

Дмитрий- Автор вопроса
Konstantin Zaitsev
Вам же ссылку прислали Выражение Поле not in (tru...

Я хотел уточнить как это возможно исправить

Дмитрий- Автор вопроса
Konstantin Zaitsev
А первый запрос чем не устраивает?

Результат другой. То есть нужен результат как в варианте not in (true,false)

Дмитрий
Результат другой. То есть нужен результат как в ва...

То есть можэте просто выкинуть эти все таблицы и их джойны -- будет тот жэ результат, притом быстро.

Дмитрий
Результат другой. То есть нужен результат как в ва...

Что может быть not in (true, false), вы сами то проверьте просто )))))

Дмитрий- Автор вопроса
Ilya Anfimov
То есть можэте просто выкинуть эти все таблицы и и...

Ну это мы всегда успеем, спасибо) Я пытаюсь понять как же эту хню исравить

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта