Показать сообщение отдельно
Старый 20.07.2008, 20:58   #1
Sergey M Nikitin
Administrator
 
Аватар для Sergey M Nikitin
 
Регистрация: 10.07.2007
Адрес: Moscow
Сообщений: 181
Отправить сообщение для Sergey M Nikitin с помощью ICQ Отправить сообщение для Sergey M Nikitin с помощью Skype™
Arrow [SQL] Поиск в поле-список в БД MySQL, у кого есть какие идеи?

Головоломка:
Выбрать из таблицы table все записи которые удовлетворяют требованию:
в поле mm_type встречается заданное число.

Пример таблицы
Код:
uid     | name    | mm_type
--------+---------+----------
 1      | nm1     | 1,4,7
 2      | nm2     | 2,4,1
 3      | nm3     | 8,1,5,9
 4      | nm4     | 9,1,3,4
например выбрать записи где в поле mm_type встречается 4, запрос вернет записи с uid 1,2,4,

или 9
вернет записи с uid 3,4,


А теперь на SQL?

Единственное решение которое я нашел:
Код:
SELECT name, mm_type
FROM table c
WHERE
c.mm_type LIKE "[num]" OR
c.mm_type LIKE "[num],%" OR
c.mm_type LIKE "%,[num]" OR
c.mm_type LIKE "%,[num],%" ;
Мне кажется криво
у кого есть какие идеи?
Sergey M Nikitin вне форума   Ответить с цитированием