powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Почему не работает EXISTS?
25 сообщений из 25, страница 1 из 1
Почему не работает EXISTS?
    #32529908
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно сабж.
пробовал искать . сравнивал всё вроде правильно. пробовал для разных полей (цифровых) , чё-то не работает.
not exists работает...
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32529919
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
корочку хлеба
кусочек кода
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32529921
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT движение.[порядковый номер], движение.код AS код_, движение.резидент
FROM движение
WHERE (((движение.код)=Exists (SELECT движение.код
FROM движение
WHERE (((движение.код)= 18679 ));
)))
ORDER BY движение.[порядковый номер]
WITH OWNERACCESS OPTION;

если заменить exists на in отработает нормально.
это тестовый код, при рабочем при in работает слишком долго.
exists хочу применить для ускорения работы.
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32529923
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ
ХР/ХР sp1/sp1-sp3, sp_jet8
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32529938
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое Where Поле= Exists???
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32529960
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WHERE Exists (SELECT движение...
вернет лишь есть ли записи в подчиненном или нет
а если есть хоть одна
выведет весь
SELECT движение.[порядковый номер], движение.код AS код_, движение.резидент
FROM движение
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530088
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
Что такое Where Поле=Exists???

это из конструктора запросов из режима SQL, ежели я в режиме конструктора в поле услосия отбора в столбце код пишу еxists (sel....)

2Alexander G
такой вариант мне не подходит.

задача :
есть запрос возвращающий в столбце значения, нада отобрать из другой талицы записи с соответствующие запросу.
in работает , но очень медленно.
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530094
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторin работает , но очень медленно.
И что?
Если, что-то работает медленно, из этого не следует, что не правильно!
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530098
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и с индексами стоит поэкпериментировать :)
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530105
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумаешь - медленно работает
То что ты написал - вообще работать не может. В принципе. Жизнь такая. Синтаксис SQL такой.

Неважно, насколько быстро работает ваша программа, если она работает неправильно. (с) не моё
Неважно, насколько быстро работает ваш запрос, если он не работает совсем. (с) моё

Вынеси вот это:
Код: plaintext
1.
2.
SELECT движение.код
FROM движение
WHERE (((движение.код)= 18679 )
в подзапрос, и делай с ним JOIN
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530134
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
in работает и работал, проблема ускорить работу
не работает exists
как раз это индексное поле


в под запрос выносил - работает, только запрос не обновляемый получается.
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530136
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторне работает exists
он то как раз работает, только вы его используете не правильно :)
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530160
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так в чём неправильно
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530169
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну почитай ты хелп к синтакису SQL
Не бывает Where Поле = Exists (что-то)
Бывает или Where Поле = что-то, или Where Поле In (что-то), или Where Exists (что-то)
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530173
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя... если Exists возвращает True/False, то и Where Поле=Exists (что-то) можно использовать для логических полей
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530186
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЛП


Незнаю как в Аксе, но в MSSQL такой фокус не пройдет :)
Ну нет там полей логического типа :)
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530196
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял...
при in сравниваются
а при exists ....

но как сделать , чтоб быстро и редактируемы результат?
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530208
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно как сделать , чтоб быстро и редактируемы результат?
А кто вам сказал, что EXISTS будет быстрее?

И пример у вас плохой :( Может реальный запрос посмотрим?

А то для вашего случая, я бы предложил:
Вместо
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT движение.[порядковый номер], движение.код AS код_, движение.резидент
FROM движение
WHERE (((движение.код)=Exists (SELECT движение.код
FROM движение
WHERE (((движение.код)= 18679 ));
)))
ORDER BY движение.[порядковый номер]
WITH OWNERACCESS OPTION;
Написать:
Код: plaintext
1.
2.
3.
4.
SELECT движение.[порядковый номер], движение.код AS код_, движение.резидент
FROM движение
WHERE (((движение.код)= 18679 ))
ORDER BY движение.[порядковый номер]
WITH OWNERACCESS OPTION;
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530225
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я чего то не понимаю ,но почему просто не написать:
Код: plaintext
1.
2.
3.
4.
SELECT движение.[порядковый номер], движение.код AS код_, движение.резидент
FROM движение
WHERE движение.код= 18679 
ORDER BY движение.[порядковый номер]
WITH OWNERACCESS OPTION;
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530226
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот что исть , долго играет....

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT движение.[порядковый номер], движение.код AS код_, движение.[сумма минус]
FROM движение
WHERE (((движение.код) In (SELECT s11.код
FROM s11)))
ORDER BY движение.[порядковый номер]
WITH OWNERACCESS OPTION;

где s11:
Код: plaintext
1.
2.
3.
4.
5.
SELECT движение.код FROM партия INNER JOIN движение ON партия.номер = движение.покупка WHERE (((партия.имя) =  3626 )) GROUP BY 
движение.код UNION SELECT движение.код FROM покупатель_покупки INNER 
JOIN движение ON (покупатель_покупки.код = движение.продажа) AND 
(покупатель_покупки.код = движение.продажа) WHERE 
(((покупатель_покупки.покупатель) ='ООО "Компания "'));

как ускорить?
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530228
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть запрос возвращающий в столбце значения, нада отобрать из другой талицы записи с соответствующие запросу.
но как сделать , чтоб быстро и редактируемы результат?
INNER JOIN
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530237
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Апаздал (c) ЛП
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530238
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
SELECT движение.[порядковый номер], движение.код AS код_, движение.[сумма минус]
FROM движение INNER JOIN s11 ON движение.код = s11.код
ORDER BY движение.[порядковый номер]
WITH OWNERACCESS OPTION;

не редактируется...
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530263
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда Inner Join предлагал - твоего поста еще не видел.
Ясен пень что такое редактироваться не будет. Там же s11 сам по себе не редактируемый (как минимум из-за Union)
Тогда только через Where ... In ...
Или результаты s11 во временную таблицу сбрасывай.

З.Ы. Мораль - правильно задавайте вопросы СРАЗУ. Избежите неправильных советов.
...
Рейтинг: 0 / 0
Почему не работает EXISTS?
    #32530275
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну блин ... успокоил...

в неправильном вопросе толк оказался - доперло как работает exists...

а с таблицей вариант... не совсем красиво , но на без рыбье...
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Почему не работает EXISTS?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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