我有一列包含 JSON 数据,我想在查询中使用该列,但我尝试了很多事情,但无法指导我如何在 SQL 中使用带有 IN 运算符的 JSON 字符串列? 我有下表和查询。
table1
------------
id | ids |
1 | [1,2] |
2 | [3,4] |
3 | [5] |
4 | [] |
5 | [1,5,6]|
-------------
table2
------------
id | name |
1 | raj |
2 | mohan |
3 | test |
4 | name1 |
5 | hello |
-------------
SELECT * FROM `table1` t1
LEFT JOIN table2 t2 ON ( t2.id IN (replace(replace(t1.ids,"[",""),"]","")) )
WHERE p.id = 2
最佳答案
您可以使用JSON_CONTAINS
:
SELECT *
FROM `table1` t1
LEFT JOIN `table2` t2
ON JSON_CONTAINS(t1.ids, t2.id)
WHERE t1.id = 2;
<强> DBFiddle Demo
关于mysql - 如何在 SQL 中使用带有 IN 运算符的 JSON 字符串列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49334042/