如何在mysql中检查json数组中的任何类似元素

qv7cva1a  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(377)

我在一个json整数数组的表中有一行。
我有一个表b,它的行有一个对象json数组的字段(可能是空的),每个对象都有一个“parent”字段。

table A
+-----------+
| foo       |
+-----------+
| [1, 2]    |
+-----------+

  table B
+--------------------------------+
| bar                            |
+--------------------------------+
| [{"parent": 1}]                |
| [{"parent": 2}, {"parent": 3}] |
| [{"parent": 4}]                |
| []                             |
+--------------------------------+

如何从表b中获取其bar中的对象没有与foo中的任何元素匹配的父对象的行?i、 最后两行应该返回。
我试着和你做些什么 SELECT JSON_EXTRACT(bar, '$[*].parent') FROM B ,但结果是一个json数组

+-----------------------------------------+
| SELECT JSON_EXTRACT(bar, '$[*].parent') |
+-----------------------------------------+
| [1]                                     |
| [2, 3]                                  |
| [4]                                     |
| NULL                                    |
+-----------------------------------------+

以及功能 JSON_CONTAINS() 不返回部分匹配:
当且仅当候选数组中的每个元素都包含在目标数组的某个元素中时,候选数组才包含在目标数组中
非常感谢您的帮助。mysql版本5.7.22

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题