簡體   English   中英

如何從 TRINO 中的鍵/值 object 數組中提取值並創建以逗號分隔的值數組

[英]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

您可以利用數組函數- transformarray_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM