我正在尝试用另一张桌子制作一张桌子。原始表有一行如下所示:
------------------------
| col1 | col 2 | col 3 |
------------------------
| item | a,b,c | 1,2,3 |
------------------------
我正在尝试获取该行,并将其放入如下表格中:
------------------------
| col1 | col 2 | col 3 |
------------------------
| item | a | 1 |
------------------------
| item | b | 2 |
------------------------
| item | c | 3 |
------------------------
所以基本上我试图同时 UNNEST 两个逗号分隔的行。到目前为止,我想出的最好的方法是单独 UNNEST 每一列,然后尝试合并两个结果表(我也在努力解决这个问题),但理想情况下,我希望一步完成。
这是我一次对 UNNEST 一行的查询:
SELECT
col1, col2, col3
FROM
tableName,
UNNEST(SPLIT(col2)) AS col2
这是我尝试将 UNNEST 作为子查询进行的尝试,但它给出了很多结果:
SELECT sub.*
FROM (
SELECT
col1, col2, col3 AS col3
FROM
tableName,
UNNEST(SPLIT(col2)) AS col2
WHERE
randomCol = 'something'
) sub,
UNNEST(SPLIT(sub.col3)) AS col3