[英]How to extract values from key/value object array in TRINO and create comma separated array of the values
在 Trino (fka Presto) 工作。 我有一個結構如下的數據表:
company_id | 公司名稱 | 相關公司 |
---|---|---|
xy12345 | 酷公司 | [{company_id=we23456,type=PARTNER},{company_id=tr45678, type=PARTNER},{company_id=fu76354,type=PARTNER}] |
related_companies
字段的類型為list<struct<company_id: string, type: string>>
如何構造我的查詢以使 output 產生:
company_id | 公司名稱 | 相關公司 |
---|---|---|
xy12345 | 酷公司 | we23456、tr45678、fu76354 |
您可以利用數組函數- transform
和array_join
:
-- sample data
with dataset (company_id, company_name, related_companies) as (
values ('xy12345', 'Cool Company', array[cast(row('we23456','PARTNER') as row(company_id varchar, "type" varchar)),
cast(row('tr45678','PARTNER') as row(company_id varchar, "type" varchar))])
)
-- query
select company_id,
company_name,
array_join(transform(related_companies, r -> r.company_id), ', ') related_companies
from dataset;
Output:
company_id | 公司名稱 | 相關公司 |
---|---|---|
xy12345 | 酷公司 | we23456, tr45678 |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.