BigQuery で array<struct<...>> のフィールドにデータを登録する方法のメモ。
■テーブル定義
■登録
items テーブルから items_store_info テーブルにデータを登録。
■テーブル定義
create table `items` ( item_id string, store_id string, stock integer );
create table `item_store_infos` ( item_id string, store_infos array< struct< store_id string, stock integer > > );
■登録
items テーブルから items_store_info テーブルにデータを登録。
insert into `item_store_infos` (item_id, store_infos) select item_id , store_infos from ( select item_id , array_agg(store_info) as store_infos from ( select item_id, struct(store_id, stock) as store_info from `itmes` ) s group by item_id );