>我正在尝试根据相邻的键值提取 JSON 文档值的子集。
我的 JSON 字符串:
[
{
"_metadata": {
"id": 1
},
"_children": [
"A",
"B",
"C"
]
},
{
"_metadata": {
"id": 2
},
"_children": [
"X",
"Y",
"Z"
]
}
]
在设置 WHERE 子句(如 $._metadata.id="2"
(时是否可以只返回[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。