在使用UNNEST函数后,结果的列数比你选择的要多得多是因为UNNEST函数将数组或结构体展开为多个列。要清理结果数据,你可以使用WITH语句和SELECT子句来选择需要的列,并使用DISTINCT关键字去重。
以下是一个示例解决方法:
WITH unnested_data AS (
SELECT
column1,
column2,
unnested_column
FROM
your_table,
UNNEST(array_column) AS unnested_column
)
SELECT DISTINCT
column1,
column2,
unnested_column
FROM
unnested_data
在上面的示例中,我们使用WITH子句创建了一个名为unnested_data的临时表,该表包含了原始表的column1和column2列,以及使用UNNEST函数展开的array_column列(重命名为unnested_column)。然后,我们使用SELECT子句从unnested_data表中选择需要的列,并使用DISTINCT关键字去重。
通过这种方法,你可以选择需要的列,并清理结果数据,以便满足你的需求。