我尝试将每月表分解为每日表以提高性能。假设我有以下n行模式:
field1 STRING NULLABLE
field2 STRING NULLABLE
field3 RECORD NULLABLE
field4 STRING REPEATED
field5 STRING REPEATED
field5 STRING REPEATED
field6 STRING NULLABLE
.
.
.
.
fieldn STRING REPEATED
我尝试使用Web UI创建表,每天查询数据,将结果保存到另一个表(每日表)[1]。但是我有很多REPEATED
列,所以我必须FLATTEN
表。
SELECT
...
FROM (
FLATTEN((
SELECT
...
FROM (
FLATTEN((
SELECT
...
FROM
table),
field3)
)
),
f4)
)
)
我不想为每个重复列创建多个记录,我想保留每月表的架构和信息。最好的方法是什么?
答案 0 :(得分:3)
在Web UI中 - 保留架构 - 您应该在下面执行
for Legacy SQL
用于标准SQL
然后,您应该使用以下内容:
SELECT * FROM YourTable WHERE <condition to filter given day rows>