powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает NOT IN c подзапросом.
9 сообщений из 9, страница 1 из 1
Не работает NOT IN c подзапросом.
    #39185630
Лысёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ув. спецы, имеется таблица [Пациенты полная] и таблица [Амбулаторный прием], в последней содержатся фамилии некоторых пациентов из первой. Надо сделать запрос, который выводит ВСЕХ из [Пациенты полная], КРОМЕ тех, фамилии которых есть в [Амбулаторном приеме].
Пишу:
Код: sql
1.
2.
3.
4.
SELECT * 
FROM [Пациенты полная]
WHERE [Фамилия, имя, отчество] NOT IN
( SELECT [ФИО набл] FROM [Амбулаторный прием]);


В итоге выводит пустую таблицу. Если убрать NOT, то выводит из [Пациенты полная] всех, кто есть в [Амбулаторном приеме], т.е. без NOT все работает. Что неправильно?
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185649
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перепиши запрос на JOIN. Кстати, и работать будет побыстрее...

ЛысёкЧто неправильно?
Возможно, в [Амбулаторный прием] есть запись с [ФИО набл] Is Null ?
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185656
Лысёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, спасибо.
вроде пока так работает:

Код: sql
1.
2.
3.
4.
5.
6.
SELECT * 
FROM [Пациенты полная]
WHERE [Фамилия, имя, отчество] NOT IN
( SELECT [ФИО набл] FROM [Амбулаторный прием]
INNER JOIN [Пациенты полная]
ON [Амбулаторный прием].[ФИО набл] = [Пациенты полная].[Фамилия, имя, отчество]);
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185669
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос без подчиненных (так называется) - посмотрите.
Код: sql
1.
2.
3.
SELECT [Пациенты полная].* 
FROM [Пациенты полная] LEFT JOIN [Амбулаторный прием] ON [Пациенты полная].[Фамилия, имя, отчество]=[Амбулаторный прием].[ФИО набл] 
WHERE [Амбулаторный прием].[ФИО набл] Is Null;


[Пациенты полная].[Фамилия, имя, отчество] - это такое название поля?
И все компоненты в одном поле?
Хм....
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185707
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысёквроде пока так работает:Жуть какая...
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185803
Лысёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
работает также как с иннер джойн. если что, я не программер, а врач, поэтому если туплю, то простите.
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185807
Лысёк, если в таблице встречаются полные тезки или в ФИО одной из таблиц допущена ошибка (например - лишний пробел), то ваш запрос вернет неправильный результат.
Настоятельно рекомендуется иметь в "Пациенты полная" ключевое поле-счетчик (ID), и этот ID сохранять в "Амбулаторный прием" вместо ФИО. Ну и Ф И О лучше хранить в разных полях.
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185810
Лысёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),
спасибо за совет, исправлю.
...
Рейтинг: 0 / 0
Не работает NOT IN c подзапросом.
    #39185813
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысёк__Michelle,
работает также как с иннер джойн. если что, я не программер, а врач, поэтому если туплю, то простите.1. "Дает тот же результат" <> "Работает так же".
2. Взялся за гуж, не говори, что не дюж.)))
3. "Выписывать рецепты" по Access Вы, тем не менее, тоже не прочь. Почти в каждой теме.)))
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает NOT IN c подзапросом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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