Mysql Нужно сделать выборку оператором IN

Jeysmook

Новичок
Доброй ночи. Вообщем сразу к делу.
Table position

Table category

Нужно выбрать все строки из таблицы position где type_id = 1 и потом выбрать все строки из таблицы category где category_id IN categories_circuit. В categories_circuit данные типа 1,3,4,5,20. Выбирает только первую категорию из перечисленных, а остальные нет, нужно чтобы все выбирало, спасибо

Код:
SELECT`p`.`name`AS`position`, `p`.`position_id`, `c`.`category_id`, `c`.`name`AS`category`, `p`.`categories_circuit`AS`categories`FROM`position`AS`p`,`category`AS`c`WHERE`c`.`category_id`IN ( `p`.`categories_circuit` ) AND`p`.`type_id` = 1
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Надо хранить данные нормально, а не через жопу.

Одна запись - одна строчка, а не как у тебя 1,2,3,4

Для тебя, пояснит, почему у тебя обрезается все:
http://stackoverflow.com/questions/4155873/find-in-set-vs-in

Так же можешь попробовать извратиться с https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_find-in-set , но я бы не советовал
 
Сверху