如果我们有两个形状相同的数组。我们如何在 Presto SQL 中为数组中与第二个数组中的其他元素关联的每个元素创建/分解单独的行。
例如,
| Array1 | Array2 |
| ------------------------ | ------------------------- |
| [0, 1, 34, 55, 68, 100] | [40, 10, 30, 50, 60, 88] |
想要的结果
| Column_a | Column_b |
| -------- | -------- |
| 0 | 40 |
| 1 | 10 |
| 34 | 30 |
| 55 | 50 |
| 68 | 60 |
| 100 | 88 |
我尝试使用
SELECT Column_a, Column_b FROM a
CROSS JOIN UNNEST(Array1) AS t (Column_a)
CROSS JOIN UNNEST(Array2) AS t (Column_b)
但它给出了每个其他数组元素的输出。
你可以尝试这个方法:
SELECT
unnested_array1 AS Column_a,
unnested_array2 AS Column_b
FROM
(SELECT UNNEST(Array1) AS unnested_array1, UNNEST(Array2) AS unnested_array2) AS t;