Задать вопрос
mannaro
@mannaro
Умею профессионально гуглить

Выборка по регулярному выражению?

Здравствуйте! Подскажите пожалуйста: у меня в таблице БД данные хранятся таким образом:

id | name | items
1 | test | '0, 2, 3'
2 | test2 | '1, 4'
3 | test3 | '5'


И мне надо сделать выборку (`id` - int, `name` - varchar, `items` - varchar), допустим, по наличию в items числа 4.

т.е. ВЫБРАТЬ `name` ГДЕ `items` СОДЕРЖИТ '4'; должно выдать test2 и т.п.


Извиняюсь, за такой сумбурный вопрос, но все же.
  • Вопрос задан
  • 3419 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
KonstRuctor
@KonstRuctor
программист, дизайнер, фотограф, журналист
В данном случае удобнее сделать связанную таблицу ordered_items, это сильно развяжет руки при развитии проекта.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@larikov
select name from your_table where find_in_set('4', items) > 0
Ответ написан
raskumandrin
@raskumandrin
Добавить в начале и конце строки «, », после чего использовать like:
select * from your_table where concat( ', ' , items , ', ' ) like ', 4, '
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽