【发布时间】:2021-01-14 13:25:17
【问题描述】:
我有一个表格,其中包含间隔为 6 个月的开始日期和结束日期。下面是一个例子:
Row start_date end_date
1 2018-09-18 2019-03-18
2 2019-03-18 2019-09-18
3 2019-09-18 2020-03-18
我有一个主表(非常大),所以我循环通过这个 start_date 和 end_date 并将选择的记录插入到不同的表中。以下是示例查询。
create table dataset.t1 (v1,v2,v3,create_dt);
LOOP
insert into dataset.t1 (v1,v2,v3,create_dt) select v1,v2,v3,create_dt
from dataset.t2 where create_dt >= (select start_date from dataset.t1)
and create_date < (select end_date from dataset.t1)
END LOOP.
当我尝试使用 Loop 时,出现以下错误:
Query error: Scalar subquery produced more than one element at.
谁能帮我解决这个问题。我的最终目标是通过将日期划分为不同的范围来提高性能。
【问题讨论】:
-
您能否根据您提供的输入数据使用您正在寻找的所需输出来更新您的问题?
标签: sql performance loops google-bigquery date-range