Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Почему может не работать not in? / 3 сообщений из 3, страница 1 из 1
04.07.2014, 17:02:18
    #38688216
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему может не работать not in?
Сейчас выявляю баг в одном скрипте.
В БД есть таблица PINS с полем PIN и таблица SESSIONS с полем PIN.
В первой таблице есть запись "000-169-838". Во второй таблице этой записи нет.
Делаю такой запрос:
Код: sql
1.
2.
3.
select *
from PINS
where PIN not in (select PIN from SESSIONS)


Он возвращает пустой результат. Хотя я считал, что по меньшей мере "000-169-838" должен вернуть.
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
04.07.2014, 17:11:20
    #38688232
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему может не работать not in?
Вероятно, в результате select PIN from SESSIONS возвращается запись с NULL-ом (помимо остальных записей).
Перепишите запрос так:
Код: sql
1.
2.
3.
select *
from PINS LEFT JOIN SESSIONS ON PINS.PIN=SESSIONS.PIN
WHERE SESSIONS.PIN IS NULL


Заодно, оно и побыстрее будет.
...
Рейтинг: 0 / 0
04.07.2014, 17:27:53
    #38688275
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему может не работать not in?
miksoftВероятно, в результате select PIN from SESSIONS возвращается запись с NULL-ом (помимо остальных записей).
Верно, про это я не подумал.
Теперь работает, спасибо.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Почему может не работать not in? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]