Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизПроблемы с полями при поиске Найти похожие ветки
← →
mouse_web (2004-08-06 17:03) [0]У меня таблица с двумя полями title (text) и body (memo), база Access.
Пишу запрос: SELECT * from Table WHERE title+" "+body LIKE "%search%";
этот запрос ничего не находит в таблице...
если искать не по двум сразу, а по отдельным полям, то все находится...
я подразумеваю, что в случае поиска по двум полям идет несовместимость типов полей text и memo...
может быть надо преодбразовать memo поле в текстовое? и как?
может кто сталкивался с этим?
← →
Соловьев © (2004-08-06 17:14) [1]
> SELECT * from Table WHERE title+" "+body LIKE "%search%";
тебе сразу по двум полям?
SELECT * from Table WHERE title LIKE "%search%" and body LIKE "%search%";
← →
sniknik © (2004-08-06 17:15) [2]> что в случае поиска по двум полям идет несовместимость типов полей text и memo...
вряд ли, тем более что в этом случае это одно и тоже.
> может быть надо преодбразовать memo поле в текстовое? и как?
действительно как? это же тоже самое. ;о)
← →
sniknik © (2004-08-06 17:16) [3]Соловьев © (06.08.04 17:14) [1]
так, title+" "+body LIKE "%search%", у меня тоже сработало, без проблем. если дело и есть то в чемто другом.
← →
46_55_41_44 © (2004-08-06 17:17) [4]
> Пишу запрос: 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*"!!!
И это очень важно... Иначе не будет работать!!!
А так никакой разницы... Не надо менять тип поля!!!
← →
mouse_web (2004-08-06 17:35) [5]спасибо заработало!
при большом количестве полей лучше делать запросы типа
> Select * from Table
> Where Title Like "%anything%"
> and Body Like "%anything"
а если полей мало, то можно
> SELECT * from Table WHERE title+" "+body LIKE "%search%";
хотя странно все это, почему при большом количестве полей не работает...
разницы то никакой
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c