我在A的整数数组的表A中有一行。
我有一个表B,表B的行包含一个(可能为空)JSON对象数组的字段,并且每个对象都有一个“父”字段。
table A
+-----------+
| foo |
+-----------+
| [1, 2] |
+-----------+
table B
+--------------------------------+
| bar |
+--------------------------------+
| [{"parent": 1}] |
| [{"parent": 2}, {"parent": 3}] |
| [{"parent": 4}] |
| [] |
+--------------------------------+
如何从表B中获得行,而表B中bar中的对象没有任何父项与foo中的任何元素匹配?即应返回此处的最后2行。
我尝试使用SELECT JSON_EXTRACT(bar, '$[*].parent') FROM B
做某事,但结果是一个JSON数组
+-----------------------------------------+
| SELECT JSON_EXTRACT(bar, '$[*].parent') |
+-----------------------------------------+
| [1] |
| [2, 3] |
| [4] |
| NULL |
+-----------------------------------------+
函数JSON_CONTAINS()
不返回部分匹配项:
“当且仅当候选对象中的每个元素都包含在目标的某个元素中时,候选数组才包含在目标数组中。” MySQL docs
任何帮助将不胜感激。 MySQL版本5.7.22