Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с LIKE / 17 сообщений из 17, страница 1 из 1
12.10.2004, 12:18:11
    #32733657
VladOst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
В Акцессе есть две таблицы. В одной (Result) содержатся некие данные. В другой (Phone) есть номера телефонов. Нужно из первой выбрать все записи, где поле ClearNumer не совпадает ни с одной записью в поле Phone таблицы Phone. Пытался сделать так
SELECT *
FROM Result, Phone
WHERE Result.NumberClear Not Like '*[Phone]![Phone]';
Но ничего не получается :( Если не использовать * после Like, то отбирается, но хотелось бы именно не точное совпадение искать...
...
Рейтинг: 0 / 0
12.10.2004, 12:47:55
    #32733775
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Попробуй так
SELECT Result.*
FROM Result where Result.NumberClear not in (SELECT Result.NumberClear FROM Result, Phone WHERE Result.NumberClear Like '*' & [Phone]![Phone] & '*';);
...
Рейтинг: 0 / 0
12.10.2004, 12:58:45
    #32733819
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Попробуй еще так:
SELECT *
FROM Result LEFT JOIN Pnone ON NumberClear = Phone.Phone
WHERE Phone.Phone IS NULL

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
12.10.2004, 13:00:11
    #32733826
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Поправка: не прав, join точное соответствие учитывает.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
12.10.2004, 13:12:15
    #32733878
VladOst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Спасибо всем! особенно Roma R. Всё заработало :) Теперь добавлю сам ещё отборы по стоимости и т.д. Но это уже вроде понятнее :)
Iskander68 Да, с JOIN не захотело, ну ничего. Уже всё работает :) Правда тормоза небольшие при выполнении запроса... Около минуты расчитывается. Ну да Бог с ним.
...
Рейтинг: 0 / 0
12.10.2004, 13:18:49
    #32733901
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Вместо Not In попробуй Exist. Должно работать побыстрее
...
Рейтинг: 0 / 0
12.10.2004, 13:19:33
    #32733903
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Iskander68
Поправка: не прав, join точное соответствие учитывает.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
join учитывает то соответсвие, которое в условии склейки таблиц ВЫ написали - в вашем случае это =, но никто не мешает вам там и LIKE прописать
...
Рейтинг: 0 / 0
12.10.2004, 13:29:42
    #32733924
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Учту, спасибо.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
12.10.2004, 13:33:48
    #32733937
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Тогда так что ли?
SELECT *
FROM Result LEFT JOIN Pnone ON Phone.Phone LIKE "*" & NumberClear & "*"
WHERE Phone.Phone IS NULL


Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
12.10.2004, 14:15:31
    #32734092
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Iskander68
Тогда так что ли?
SELECT *
FROM Result LEFT JOIN Pnone ON Phone.Phone LIKE "*" & NumberClear & "*"
WHERE Phone.Phone IS NULL


Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
Дык - это
Проверь - и скажешь нам - так или не так :)
...
Рейтинг: 0 / 0
12.10.2004, 14:22:59
    #32734120
VladOst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
SELECT *
FROM Result LEFT JOIN Phone ON Phone.Phone LIKE "*" & NumberClear & "*"
WHERE Phone.Phone IS NULL;
При попытке сохранить Запрос Акцес выдаёт ошибку "Не поддерживается выражение объединения" и выделяет часть запроса
Phone.Phone LIKE "*" & NumberClear & "*"
...
Рейтинг: 0 / 0
12.10.2004, 14:34:15
    #32734158
VladOst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Roma RВместо Not In попробуй Exist. Должно работать побыстрее
Вообще сохранять запрос не хочет, говорит, что пропущен оператор
...
Рейтинг: 0 / 0
12.10.2004, 14:36:56
    #32734165
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Я писал начисто в форум, не проверяя, в чем каюсь.

Проверил. Не работает - синтакс. ошибки. Вот так должно:

SELECT NumberClear, Phone
FROM Result LEFT JOIN Phone
ON Result.NumberClear LIKE "*" & Phone.Phone & "*"
WHERE Phone Is Null;


--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
12.10.2004, 14:43:08
    #32734180
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
SELECT Result.*
FROM Result
WHERE (((Exists (SELECT t.NumberClear FROM Result as t, Phone WHERE Result.NumberClear Like '*' & [Phone]![Phone] & '*';))=False));


SELECT Result.*
FROM Result LEFT JOIN Phone ON Result.NumberClear like "*" & Phone.Phone & "*" where isnull( Phone.Phone);
...
Рейтинг: 0 / 0
12.10.2004, 14:47:25
    #32734192
VladOst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Iskander68
Я писал начисто в форум, не проверяя, в чем каюсь.

Проверил. Не работает - синтакс. ошибки. Вот так должно:

SELECT NumberClear, Phone
FROM Result LEFT JOIN Phone
ON Result.NumberClear LIKE "*" & Phone.Phone & "*"
WHERE Phone Is Null;


--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0

Да, теперь точно работакт :) Выдаёт одинаковые данные вместе с запросом от Roma R, и работает примерно втрое быстрее :) Спасибо всем!!!
...
Рейтинг: 0 / 0
12.10.2004, 14:49:41
    #32734198
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
Попробуй поменять местами в ON Result.NumberClear LIKE "*" & Phone.Phone &
"*"
Result.NumberClear и Phone.Phone - на "обратной" проверки.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
12.10.2004, 14:50:34
    #32734203
VladOst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с LIKE
[quot Roma R]SELECT Result.*
FROM Result
WHERE (((Exists (SELECT t.NumberClear FROM Result as t, Phone WHERE Result.NumberClear Like '*' & [Phone]![Phone] & '*';))=False));
quot]

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


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