3

我在演习中有一个这样的对象:

{MyFruit: [{name:Mike, age:10},{name:Jacob,age:9},{name:William, age:6}]}

我可以通过以下方式获得“迈克”:

Select MyFruit[0].name

有没有办法让我得到每个“名字”的列表?我尝试了以下,它不喜欢它:

Select MyFruit[*].name
4

1 回答 1

4

鉴于此 fruits.json 文件:

{"MyFruit": [{"name":"Mike", "age":10},{"name":"Jacob","age":9},{"name":"William", "age":6}]}

钻头语句是:

select t.flatdata.name from (select flatten(MyFruit) as flatdata from dfs.`/Users/path/fruits.json`) t;
+----------+
|  EXPR$0  |
+----------+
| Mike     |
| Jacob    |
| William  |
+----------+
3 rows selected (0.14 seconds)

您需要使用子查询来展平复杂的嵌套和表别名 t 和 flatdata,从而解决歧义。

于 2015-10-28T18:49:19.037 回答