![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с полями при поиске [D7, Access]
mouse_web © (2004-08-06 17:03:00)У меня таблица с двумя полями title (text) и body (memo), база Access.
Пишу запрос: SELECT * from Table WHERE title+' '+body LIKE '%search%';
этот запрос ничего не находит в таблице...
если искать не по двум сразу, а по отдельным полям, то все находится...
я подразумеваю, что в случае поиска по двум полям идет несовместимость типов полей text и memo...
может быть надо преодбразовать memo поле в текстовое? и как?
может кто сталкивался с этим?
mouse_web (2004-08-06 17:35:00) [1]спасибо заработало!
при большом количестве полей лучше делать запросы типа
> Select * from Table
> Where Title Like '%anything%'
> and Body Like '%anything'
а если полей мало, то можно
> SELECT * from Table WHERE title+' '+body LIKE '%search%';
хотя странно все это, почему при большом количестве полей не работает...
разницы то никакой
46_55_41_44 (2004-08-06 17:17:00) [2]
> Пишу запрос: SELECT * from Table WHERE title+' '+body LIKE
> '%search%';
Ты что прям так и писал запрос? SQL что сума сошел???
Select * from Table
Where Title = 'anything'
and Body Like '%anything'
Вот так надо...
Или так:
Select * from Table
Where Title Like '%anything%'
and Body Like '%anything'
Кстати... Символ который используется для Like в Delphi - '%' в MS Access например '*'.
То есть, если будешь писать текст SQL в коде программы, то LIKE '%search%', а если в самом MS Access, то '*search*'!!!
И это очень важно... Иначе не будет работать!!!
А так никакой разницы... Не надо менять тип поля!!!
sniknik (2004-08-06 17:16:00) [3]Соловьев © (06.08.04 17:14) [1]
так, title+' '+body LIKE '%search%', у меня тоже сработало, без проблем. если дело и есть то в чемто другом.
sniknik (2004-08-06 17:15:00) [4]> что в случае поиска по двум полям идет несовместимость типов полей text и memo...
вряд ли, тем более что в этом случае это одно и тоже.
> может быть надо преодбразовать memo поле в текстовое? и как?
действительно как? это же тоже самое. ;о)
Соловьев (2004-08-06 17:14:00) [5]
> SELECT * from Table WHERE title+' '+body LIKE '%search%';
тебе сразу по двум полям?
SELECT * from Table WHERE title LIKE '%search%' and body LIKE '%search%';