如何使用 DML 语法在 BigQuery 中插入带有 RECORD 字段的记录?

kee*_*kee 7 google-bigquery

我有一个记录类型字段,表中有 3 个子字段(假设表 A)。我想从另一个表(假设是表 B)复制到此表,其中这 3 个字段是 BigQuery 中的单独字段:

表A:

env       Record
env.temp  INTEGER
env.ts    TIMESTAMP
env.desc  STRING
Run Code Online (Sandbox Code Playgroud)

表B:

env_temp  INTEGER
env_ts    TIMESTAMP
env_desc  STRING
Run Code Online (Sandbox Code Playgroud)

我不知道如何构造 INSERT SQL 语句,特别是对于此记录字段(env):

INSERT table_A (env) SELECT ???? FROM table_B
Run Code Online (Sandbox Code Playgroud)

请赐教!

Ell*_*ard 6

您需要制作一个STRUCT,例如:

INSERT table_A (env)
SELECT STRUCT(env_temp AS temp, env_ts AS ts, env_desc AS desc) AS env
FROM table_B
Run Code Online (Sandbox Code Playgroud)