如何展平sql表中的两列?

时间:2019-09-10 11:37:40

标签: sql google-bigquery

我有一个表,该表包括两列,其中一列代表货币(['EUR','GBP',...]),另一列代表该货币对美元的汇率(['1.10','1.23 ',...])。每个新更新都是带有时间戳和事务哈希的新行(来自以太坊网络)。

为了更轻松地使用它们,我想将表格弄平,以便每个汇率,货币,时间戳和交易哈希都在其自己的行中。

这是我的尝试:

SELECT * FROM `main_table`
CROSS JOIN (
UNNEST(tickers) AS ticker 
INNER JOIN UNNEST(rates) AS rate)

我正在使用BigQuery

1 个答案:

答案 0 :(得分:0)

一种方法是使用偏移量

SELECT *
FROM `main_table` t CROSS JOIN
     UNNEST(t.tickers) WITH OFFSET tn LEFT JOIN
     UNNEST(t.rates) WITH OFFSET rn
     ON tn = rn