Как выбрать из MySQL, используя массив JSON из другой таблицы
Мне нужно выбрать все предметы из table1
стол из table2.properties
поле, которое является данными JSON.
Пример данных:
Table1:
--------
id
--------
1
2
3
--------
Table2:
-------------------------------------
id | properties
-------------------------------------
11 | {"ids": ["1"]}
12 | {"ids": ["1","3"]}
13 | {"ids": ["2","3"]}
-------------------------------------
Я могу получить идентификаторы в виде массива по этому запросу
> select JSON_EXTRACT(properties, '$.ids') from `table2` where id=11;
+-------------------------------------+
| JSON_EXTRACT(properties, '$.ids') |
+-------------------------------------+
| ["1"] |
+-------------------------------------+
Но когда я пытаюсь получить table1
это не работает
> select * from `table1` where id in (
select JSON_EXTRACT(properties, '$.ids') from `table2` where id=11
);
[empty result]