我想创建一个包含来自两个不同数组的两列的表格。
Array1: [1,2,3]
Array2: [11,12,13]
所需表:
通过使用这个查询,我得到了 1 行
SELECT
[1,2,3] AS S1,
[11,12,13] AS S2
我尝试了 UNNEST,但得到了笛卡尔积
SELECT S1, S2
FROM
UNNEST([1,2,3]) AS S1,
UNNEST([11,12,13]) AS S2
如何从数组创建所需的表(图 1)?
谢谢
最佳答案
一种方法使用连接和WITH OFFSET
:
SELECT S1, S2, o1, o2
FROM UNNEST([1, 2, 3]) s1 WITH OFFSET o1 LEFT JOIN
UNNEST([11, 12, 13]) S2 WITH OFFSET o2
ON o1 = o2;
如果 BigQuery 中的 UNNEST()
支持多个参数,就像其他一些数据库那样,那就太好了。
关于sql - 大查询 : Create a table from arrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51908047/