这是我的问题
%jdbc(presto)
select
cast(json_extract(basicmetadata, '$.locales') as array<map<varchar, json>>)
from
escherbird.entities
where
entityid = 1262415487625019394
and domainid = 124
它返回这个数组
[{country="IN", hashCode=1828207720, _passthroughFields={}, language="en"}, {country="AU", hashCode=1899888409, _passthroughFields={}, language="en"}, {country="GB", hashCode=-2002878675, _passthroughFields={}, language="en"}, {country="IE", hashCode=-358794848, _passthroughFields={}, language="en"}, {country="CA", hashCode=392726027, _passthroughFields={}, language="en"}, {country="NZ", hashCode=-136386876, _passthroughFields={}, language="en"}, {country="US", hashCode=-1355251774, _passthroughFields={}, language="en"}]
这个查询给我一个空结果
%jdbc(presto)
select
cast(json_extract(basicmetadata, '$.locales.country') as array<map<varchar, json>>)
from
escherbird.entities
where
entityid = 1262415487625019394
and domainid = 124
如何编写查询以将每个国家作为唯一行返回?
3条答案
按热度按时间ruarlubt1#
以下是在sql server 2016及更高版本中运行的查询,
以下是在oracle server中运行的查询
pjngdqdw2#
如果您使用的是postgres,您可以使用:
jxct1oxe3#
这是一个对象类型,如果您想在表中显示它,应该将其转换为数组。
即。:
然后你可以用这个作为数组