PiCoderman
@PiCoderman

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

Есть таблица с списком групп. В ней есть столбец jan(Жанр). В этом поле записаны жанры и разделены через ':::'. Нужно выполнить запрос-поиск в 'jan' по '%jan_name%' и получить все ID групп, в поле 'jan' которых есть такой жанр. Нужен массив. В MySql я не селен.
  • Вопрос задан
  • 2199 просмотров
Пригласить эксперта
Ответы на вопрос 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 ( селект написанный сверху )
Но вообще поддерживаю предыдущего оратора, это тупиковый путь, нормальную структуру базы делайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы