@VoFFkIN

Подзапрос с множественным выводом не выводит данные?

Суть следующая. Есть две таблицы. В одной текстовое поле, в котором хранится строка вида
,1,3,4,
И есть вторя таблица где есть значения этих ключей.
SELECT RIGHT(LEFT(a.melody, LENGTH(a.melody)-1),LENGTH(a.melody)-2) AS melodyId, //обрезаю запятые по краям
,(SELECT GROUP_CONCAT(amelody.`name` SEPARATOR ', ') FROM amelody WHERE amelody.id IN (melodyId)) as melodyInfo
FROM
a

Если в подзапросе вместо IN(melodyId) написать (1,3,4) - все отлично работает, а вот при значении IN(melodyId) возвращается только единственный результат ключа 1.
melodyId точно хранит значение 1,3,4
Кто сталкивался с подобной заморочкой? Куда копать?
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
melodyId хранит не список (1,3,4), а строку '1,3,4'. Это совершенно разные вещи. Приведите базу в нормальную форму, вынесите это поле в отдельную таблицу связи многие-ко многим.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы