雪花压扁怎么办?

Snowflake flatten how to?

我有一个场景,其中数据在 SNOWFLAKE SQL 中采用以下格式。 AGREEMENTS 列使用 listagg

构建

我想展平“协议”列并将 table 格式化为如下所示。请求帮助

SPLIT_TO_TABLE 是您要查找的函数。鉴于你有这么多专栏,我没有把它们全部打出来。您可以使用 t.* 获取它们。

SELECT 
    t.well,
    t.well_co,
<snip>
    a.value::text AS agreements,
    t.agreements_count
FROM table t,
    table(split_to_table(t.agreements, ',') a

你想按照这些思路做一些事情:

SELECT x.{list of fields}, y.value::varchar as agreements
FROM x,
LATERAL FLATTEN(input=>SPLIT(x.agreements,',')) y;