Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Разработка расширений / TYPO3 extension development

Ответ
 
Опции темы Опции просмотра
Старый 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 вне форума   Ответить с цитированием
Старый 21.07.2008, 16:05   #2
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Код:
SELECT name, mm_type
FROM table as c
WHERE FIND_IN_SET("[num]", c.mm_type) > 0;
Обрати внимание что число должно идти строкой.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 21.07.2008, 16:19   #3
Sergey M Nikitin
Administrator
 
Аватар для Sergey M Nikitin
 
Регистрация: 10.07.2007
Адрес: Moscow
Сообщений: 181
Отправить сообщение для Sergey M Nikitin с помощью ICQ Отправить сообщение для Sergey M Nikitin с помощью Skype™
По умолчанию Классный способ, спасибо !!!

Работает во всех версиях начиная 3.23
Sergey M Nikitin вне форума   Ответить с цитированием
Старый 21.07.2008, 16:29   #4
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от nikitinsm Посмотреть сообщение
Работает во всех версиях начиная 3.23
Ну думаю что эта информация может кого то заинтересовать кроме некрофилов 8=)
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 21.07.2008, 16:31   #5
Sergey M Nikitin
Administrator
 
Аватар для Sergey M Nikitin
 
Регистрация: 10.07.2007
Адрес: Moscow
Сообщений: 181
Отправить сообщение для Sergey M Nikitin с помощью ICQ Отправить сообщение для Sergey M Nikitin с помощью Skype™
По умолчанию Во такие беседы ...

И рождают флудеров
Sergey M Nikitin вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:03.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория