0

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

我的 JSON 字符串:

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

是否可以[X,Y,Z]在设置 WHERE 子句时返回$._metadata.id="2"

谢谢!

4

1 回答 1

1

一种选择是:

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

请参阅dbfiddle

于 2019-07-22T20:04:03.900 回答