首页 > 解决方案 > 雪花 - 加入拆分功能的结果

问题描述

我在加入拆分功能的结果时遇到了问题。以下查询有效,其中 str_field 是表 my_table 中的字符串字段。

select
    *
    from my_table,
        (lateral flatten(input=>split(str_field, ',')));

当我尝试查询拆分的不同值时,出现错误:

无效标识符“str_field”

select
    *
    from my_table t,
        (select distinct value from lateral flatten(input=>split(t.str_field, ',')));

如何交叉加入拆分 str_field 的唯一值?我需要获取 my_table 的所有值,所以select *必须(select distinct value还不够)

标签: snowflake-cloud-data-platform

解决方案


与 CTE 合作是可行的解决方案。因此,您的查询应如下所示:

with dist_mytbl as (
select
    distinct value
    from my_table,
        (lateral flatten(input=>split(str_field, ','))))

select * from dist_mytbl;

推荐阅读