Есть таблица, назовем ее
table_a
Она имеет две колонки
- id - автоинкремент
- keys - VARCHAR
Одна строка в этой таблице может иметь вид
id = 8
keys = 1,2,3,5,15
Есть еще одна таблица, назовем ее
table_b
Из этой таблицы мне нужно получить записи у которых id соответствуют значению из поля
keys в
table_a
То есть, я делаю запрос
SELECT
*
FROM
table_b tb
WHERE
id IN(SELECT ta.keys FROM table_a ta WHERE ta.id = 8)
По логике, вложенный запрос должен мне вернуть 1,2,3,5,15.
И конечный запрос приобрел бы вид
SELECT
*
FROM
table_b tb
WHERE
id IN(1,2,3,5,15)
Но, где-то, что-то идет не так. Помоги плиз
Я подозреваю что все дело в том что на самом деле мне приходит строка "1,2,3,5,15" и это считается как одно из возможных значений в IN, но как это обойти, как сделать чтобы то был список возможных значений?