我在BigQuery中有一个大表,看起来像这样:
<div ng-repeat="id in ids">
<span ng-class="{'red': redIds.indexOf(id) != -1}">ID: {{id}}</span>
</div>
我想使用BigQuery查询将此表转换为对所有代码列使用重复字段的格式。所以结果看起来像这样(用JSON表示,以演示代码的重复字段):
ref_id code1 code2 code3 code4 code5 code6 code7 code8
1 47 742 89 374 893 27 4 68
2 766 9 84 8 4576 49 76 4
我可以通过输出到另一个表的BigQuery查询来实现吗?我知道我可以下载数据,将其重新格式化为JSON然后重新插入,但有几十亿行我希望我可以通过对原始数据的查询来完成。
答案 0 :(得分:1)
这是一种方法 - 将代码与“,”作为分隔符连接起来,然后使用SPLIT生成REPEATED字段,即
select id, split(concat(string(code1), ",", string(code2))) codes from
(select 1 id, 47 code1, 742 code2),
(select 2 id, 766 code1, 9 code2)