Общие > Базы данных

Поиск по всей строке данных.

(1/4) > >>

Evgeny:
Привет всем.
Базами данных недавно занялся, поэтому прошу прощения, если задаю стандартный или глупый вопрос.
Подскажите пожалуйста, как составить строку sql - запроса, чтобы выбрать все строки данных из таблицы Table1, в которых содержится текст "TEXT-TEXT", независимо от поля.
Т.е. поиск должен осуществляться по всем полям.
Большое спасибо.

fidget:
ну если ты хочешь одним запросом, то
SELECT * FROM table_name
WHERE column1 like \'%TEXT-TEXT%\'
OR cloumn2 like \'%TEXT-TEXT%\'  ...
и так все столбцы.

если ты заранее не знаешь какие столбцы в таблице, то тогда 2 запроса
1. знаешь столбцы из таблицы
2. делаешь выборку :)

ПС: тут только вчера обсуждали про поиск по всей базе по всем таблицам, похоже на твое только масштаб покрупнее :)
почитай, я думаю тебе будет тоже полезно

Serchey:
Привет. Есть еще один способ, смотри, возможно подойдет.
При создании таблицы укажи параметр \'FULLTEXT(col1,col2,..)\' для текстовых полей, а потом задай поиск \'SELECT * FROM mytable WHERE MATCH (col1,col2,..) AGAINST (\'слово поиска\');\'.
Учти, что если совпадения будут болбше чем в 50% рядков - поиск вернет 0 полей. Это справедливо, иначе сколько б информации пришлось виплюнуть с 1Gb таблици!?

fidget:
Есть еще один способ, смотри, возможно подойдет.
ему надо будет использовать в таком случае полнотекстовый поиск IN BOOLEAN MODE, а для этого создать полнотекстовые индексы на все текстовые поля, что мне кажется совсем не оптимально :(
кроме того, полнотекстовые поиск работает только с полями типа varchar и text, что накладывает существенные ограничения..
ИМХО FULLTEXT здесь далеко не самый лучший вариант.

Alexandr:
fidget

--- Цитировать ---Есть еще один способ, смотри, возможно подойдет.
--- Конец цитаты ---

А работает быстро?
Быстрее чем ,например ,
"молоко сгущёное"
tovar LIKE \'%молоко%\' AND tovar LIKE \'%сгущёное%\'
///
Я давно уже думаю над вопросом как поисковики (ya, google)
ищут так быстро (до 1 сек.) в 10 и более гиговых базах.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии