SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 14.09.2008 23:06:23

nikit777
Участник
Зарегистрирован: 14.09.2008
Сообщений: 1

помогите сформировать запрос

есть таблица some_table с полями
id | search  | info
01|a,b,c     |some_text
02|c,d        |some_text

и есть массив элементов поиска, например query[0]="a", query[1]="c"
в итоге необходимо сформировать запрос в результате которого мы получим id 01 и 02, есть вариант сделать запрос

SELECT DISTINCT * FROM some_table WHERE search LIKE '%query[0]%' UNION SELECT DISTINCT * FROM some_table WHERE search LIKE '%query[1]%'

я хочу упростить запрос - избавиться от DISTINCT, LIKE и UNION, подскажите как можно реорганизовать таблицу или упростить запрос

Неактивен

 

#2 15.09.2008 11:57:02

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: помогите сформировать запрос

SELECT * FROM some_table WHERE search LIKE '%query[0]%'  OR search LIKE '%query[1]%'


Если хотите и от LIKE избавиться, используйте FULLTEXT индекс и констркцию MACTH(search) AGAINST(query), но это не будет буквально тот же результат.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson