具有 json 值的大查询 unnest 数组

Big query unnest array with json values

让我们在 Google BigQuery 上考虑以下 table:

WITH example AS (
    SELECT 1 AS id, ["{\"id\":1, \"name\":\"AAA\"}", "{\"id\":2, \"name\":\"BBB\"}","{\"id\":3, \"name\":\"CCC\"}"] 
    UNION ALL
    SELECT 2 AS id, ["{\"id\":5, \"name\":\"XXX\"}", "{\"id\":6, \"name\":\"ZZZ\"}"] 
)
SELECT * 
FROM example;

我想编写一个查询,该查询将 return 名称及其父行的 ID。

喜欢:

我尝试将 unnest 与 json 函数一起使用,但我无法做到这一点。

谁能帮帮我?

谢谢 伊多

根据您的查询,您的数组中已有 json 个元素。所以使用unnest,你可以使用像json_value这样的json function来提取你的元素的name属性。

select 
    id,
    json_value(elt, '$.name')
from example, unnest(r) as elt;