Chr*_*tte 6 sql json flatten snowflake-cloud-data-platform
对此我很伤脑筋。在 Snowflake 中,我的字段city_info看起来像(对于 3 个样本记录)
[{"name": "age", "content": 35}, {"name": "city", "content": "Chicago"}]
[{"name": "age", "content": 20}, {"name": "city", "content": "Boston"}]
[{"name": "city", "content": "New York"}, {"name": "age", "content": 42}]
Run Code Online (Sandbox Code Playgroud)
我尝试city从中提取一列
Chicago
Boston
New York
Run Code Online (Sandbox Code Playgroud)
我试着把它压平
select *
from lateral flatten(input =>
select city_info::VARIANT as event
from data
)
Run Code Online (Sandbox Code Playgroud)
从那里我可以导出该值,但这只允许我对 1 行执行此操作(因此我必须添加limit 1没有意义的内容,因为我的所有行都需要这个)。
如果我尝试对 3 行执行此操作,它会告诉我subquery returns more than one row.
任何帮助表示赞赏!克里斯
你可以把它写成:
SELECT value:content::string AS city_name
FROM tab,
LATERAL FLATTEN(input => tab.city_info)
WHERE value:name::string = 'city'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6270 次 |
| 最近记录: |