Sql 从行对象中提取值

Sql 从行对象中提取值,sql,presto,trino,Sql,Presto,Trino,遵循办公室文件。我使用map_条目将map分解为arrayrowK、V结构。我的问题是如何从行对象中提取K和V值?目前,我必须将其重铸为我定义的行对象 选择 n型,b型 从…起 选择 CASTtype为ROWn VARCHAR,b VARCHAR为type 从…起 search.yli_tmp_trevi_请求_mini 交叉连接 unnest map_entriescastjson_extractreq,'$.types'作为map t类型 T 哪里 type.n='apple' 你正在运行什

遵循办公室文件。我使用map_条目将map分解为arrayrowK、V结构。我的问题是如何从行对象中提取K和V值?目前,我必须将其重铸为我定义的行对象

选择 n型,b型 从…起 选择 CASTtype为ROWn VARCHAR,b VARCHAR为type 从…起 search.yli_tmp_trevi_请求_mini 交叉连接 unnest map_entriescastjson_extractreq,'$.types'作为map t类型 T 哪里 type.n='apple'
你正在运行什么版本的Presto?Presto的最新版本修复了一个问题,即在取消对行数组的测试时,让unest返回多个列,这是SQL规范所期望的

在Presto版本中,您可以这样做:

选择t.n,t.b 从,最新的映射\u条目。。。总氮,硼 其中t.n=‘苹果’