mysql, где в разделе с предложением select после в пункте

У меня есть поле varchar котором хранятся значения, такие как 2,1 и я использую запрос для выбора данных. Запрос следующий:

 SELECT no FROM c_head where id = 9 

которые дают выход 2,1

и после этого я использую этот запрос

 SELECT id, item FROM c_item where type_head IN (SELECT no FROM c_head where id = 9) ORDER BY item 

и его работа не работает, как type_head IN (2) а не type_head IN (2,1)

но когда я просто использую жестко закодированные его рабочие

  SELECT id, item FROM c_item where type_head IN (2,1) ORDER BY item 

но почему он не работает с подзапросом?

пожалуйста помогите

Для хранения значений, разделенных запятыми в столбце, плохой дизайн, вы должны посмотреть на нормализацию базы данных и нормализовать структуру, сохранив все связанные типы_head в таблице соединений, но если вы не можете изменить структуру, поэтому в mysql вы можете использовать FIND_IN_SET () и присоединиться ваша таблица c_head, она будет выбирать записи, если она найдет значение в предоставленном наборе, IN () не будет работать для значений в наборе или в списке, разделенном запятыми

 SELECT i.id, i.item FROM c_item i JOIN c_head h ON(FIND_IN_SET(i.type_head,h.no) > 0) WHERE h.id = 9 ORDER BY i.item 

я нашел свой ответ

 SELECT id, item FROM c_item where FIND_IN_SET(type_head, (SELECT no FROM c_head where id = {head})) ORDER BY item 

благодаря……..