【问题标题】:BigQuery: Create a table from arraysBigQuery:从数组创建表
【发布时间】:2019-01-25 05:50:48
【问题描述】:

我想创建一个表,其中包含来自两个不同数组的两列。

数组1:[1,2,3]

数组2:[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)?

谢谢

【问题讨论】:

    标签: sql google-bigquery bigdata


    【解决方案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() 像其他一些数据库那样支持多个参数,那就太好了。

    【讨论】:

    • 太棒了 :) @Gordon Bro,我真的很感激。保持祝福:)
    猜你喜欢
    • 2022-09-22
    • 2021-10-14
    • 1970-01-01
    • 2020-02-18
    • 2022-12-08
    • 1970-01-01
    • 2014-11-11
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多