如何在BigQuery中将临时表结果存入另一表的字段
在BigQuery中实现临时表数据拼接插入到目标表
可以实现你的需求,你的原SQL语句存在格式错误,正确的做法如下:
问题分析
你需要将临时表的每行数据拼接成Field1|Field2|Field3格式的字符串,同时为目标表的Field1和Field2填充固定值(USA和BATCH1),最终插入目标表。原SQL的错误在于使用了INSERT ... VALUES (SELECT ...)的错误语法,且未指定目标表的前两个字段值。
正确SQL语句
假设临时表名为temp_table,目标表名为target_table,结构与你给出的一致(Field1、Field2、Field3均为字符串类型),执行以下SQL即可实现需求:
INSERT INTO target_table (Field1, Field2, Field3) SELECT 'USA' AS Field1, 'BATCH1' AS Field2, CONCAT(Field1, '|', Field2, '|', Field3) AS Field3 FROM temp_table;
执行效果
执行后目标表会生成3条记录,与你预期的结果一致:
| Field1 | Field2 | Field3 |
|---|---|---|
| USA | BATCH1 | USA |
| USA | BATCH1 | USA |
| USA | BATCH1 | USA |
内容的提问来源于stack exchange,提问作者Mani Shankar.S
相关产品推荐
相关产品推荐

