[英]Snowflake SQL: How to loop through array with JSON objects, to find item that meets condition
打破我的頭。 在雪花中,我的字段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}]
我嘗試從中提取列city
Chicago
Boston
New York
我試圖把它弄平
select *
from lateral flatten(input =>
select city_info::VARIANT as event
from data
)
從那里我可以得出該值,但這僅允許我為 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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.