MYSQL JSON - 在其同级键值上使用 WHERE 提取部分 JSON 字段

MYSQL JSON - extracting part of JSON field using WHERE on its sibling key value

我正在尝试根据相邻键值提取 JSON 文档值的子集。

我的 JSON 字符串:

[
  {
    "_metadata": {
      "id": 1
    },
    "_children": [
      "A",
      "B",
      "C"
    ]
  },
  {
    "_metadata": {
      "id": 2
    },
    "_children": [
      "X",
      "Y",
      "Z"
    ]
  }
]

在设置像 $._metadata.id="2" 这样的 WHERE 子句时,是否可以 return 仅 [X,Y,Z]

谢谢!

一个选项是:

SELECT
  `der`.`_children`
FROM
  JSON_TABLE(
    @`json`,
    '$[*]'
    COLUMNS(
      `id` INT PATH '$._metadata.id',
      `_children` JSON PATH '$._children'
    )
  ) `der`
WHERE
  `der`.`id` = 2;

dbfiddle