У меня есть две таблицы, которые имеют похожую схему, но у одной есть подмножество полей, в которых для параметра Mode установлено значение REPEATED. Например:
Схема 1:
[
{"name": "id", "type": "NUMERIC", "mode": "REQUIRED"},
{"name": "name", "type": "STRING", "mode": "REQUIRED"},
{"name": "created", "type": "TIMESTAMP", "mode": "REQUIRED"},
{"name": "valid", "type": "BOOLEAN", "mode": "REQUIRED"},
{"name": "parameter1", "type": "STRING", "mode": "REQUIRED"},
{"name": "parameter2", "type": "FLOAT", "mode": "REQUIRED"},
{"name": "parameter3", "type": "BOOLEAN", "mode": "REQUIRED"}
]
Схема 2:
[
{"name": "id", "type": "NUMERIC", "mode": "REQUIRED"},
{"name": "name", "type": "STRING", "mode": "REQUIRED"},
{"name": "created", "type": "TIMESTAMP", "mode": "REQUIRED"},
{"name": "valid", "type": "BOOLEAN", "mode": "REQUIRED"},
{"name": "parameters", "type": "RECORD", "mode": "REPEATED", "fields":
[
{"name": "parameter1", "type": "STRING", "mode": "REQUIRED"},
{"name": "parameter2", "type": "FLOAT", "mode": "REQUIRED"},
{"name": "parameter3", "type": "BOOLEAN", "mode": "REQUIRED"}
]
}
]
Я создал Table1 и Table2, используя эти схемы. Таблица1 была записана, Таблица2 пуста. Я хотел бы скопировать содержимое таблиц Table1 в Table2, где Table1.parameter1, Table1.parameter2 и Table1.parameter3 записываются в массив параметров Table2.pase ровно по одному элементу каждый. Я предполагаю, что команда SQL, такая как INSERT INTO TABLE2 (id, name, created ...) SELECT id, name, created FROM TABLE1;
, должна выполнить эту работу, но я не могу найти правильный синтаксис.
(В будущем в таблице 2 будут записаны данные с несколькими строками parameters
отсюда и необходимость в копии)
Я видел документацию по https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax, и ни одно из предложений не подходит для моего варианта использования. Можете ли вы указать мне правильное направление?
Спасибо!