Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с запросом MySQL 
V
    Опции темы
Orient
Дата 20.9.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.7.2004

Репутация: нет
Всего: нет



Здравствуйте

Голова уже совсем не соображает, помогите с запросом.
Есть текстовое поле, в котором хранятся числовые значение, разделенные запятой, например - 1, 23, 56.
Как мне отфильтровать записи по какому либо из этих значений?

Заранее, спасибо
PM MAIL   Вверх
Akina
Дата 20.9.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Код

where ', '+`field`+',' LIKE '%, 23,%'



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Orient
Дата 20.9.2008, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.7.2004

Репутация: нет
Всего: нет



Akina, 

Спасибо большое. Вы мне подали мысль, что для общего случая породило следующий код:

Код

 ( `rubrics` LIKE '%,20,%' ) OR ( `rubrics` LIKE '20,%' ) OR ( `rubrics` LIKE '%,20' )


Подозреваю, что можно тут обойтись регулярками, да что-то нету мыслей как тут маску сделать
PM MAIL   Вверх
teroni
Дата 20.9.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 3
Всего: 22



Код

RLIKE '(^|,)20($|,)' 

А Ваша конструкция не поймает поле, если там просто 20 будет.

Это сообщение отредактировал(а) teroni - 20.9.2008, 23:21
PM MAIL   Вверх
Orient
Дата 21.9.2008, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.7.2004

Репутация: нет
Всего: нет



teroni, Да, действительно. Все работает. Большое спасибо!
PM MAIL   Вверх
skyboy
Дата 21.9.2008, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Orient, всячески рекомендую в таких простых случаях не пользоваться шаблонными функциями like, regexp и т.д., а воспользоваться простым locate:
Код

WHERE LOCATE(',20,', concat(',',`field`,',')) > 0

PM MAIL   Вверх
Orient
Дата 23.9.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.7.2004

Репутация: нет
Всего: нет



skyboy, Весьма остроумная идея. Спасибо за мысль!   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.