Задать вопрос
PiCoderman
@PiCoderman

Как сделать запрос MySql?

Есть таблица с списком групп. В ней есть столбец jan(Жанр). В этом поле записаны жанры и разделены через ':::'. Нужно выполнить запрос-поиск в 'jan' по '%jan_name%' и получить все ID групп, в поле 'jan' которых есть такой жанр. Нужен массив. В MySql я не селен.
  • Вопрос задан
  • 2201 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
0002-001-S-e-l-e-n.png

Вам нужна нормализация базы, вынесите жанры в отдельную таблицу и свяжите их через many-to-many связь.
Ответ написан
@lepidoptera
SELECT id FROM tablename WHERE jan LIKE '%:::jan_name:::%'
Троедвоеточия обязательно в начале и конце строки jan добавить, иначе будет искать по части слова ( rockabilly вместо rock условно).
Ну и потом пройдитесь по результату и в массив все запихайте, если надо. Это от способа подключения зависит.
Или если вам надо эти ID потом в другом запросе использовать, то будет как-то так:
SELECT траляля FROM таблица WHERE id_jan IN ( селект написанный сверху )
Но вообще поддерживаю предыдущего оратора, это тупиковый путь, нормальную структуру базы делайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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