例えば、注文単位で複数商品を同時発注可能な場合、ordersテーブルを設計した場合は以下のような構造に。

フィールド名種類モード
idSTRINGNULLABLE
created_timeTIMESTAMPNULLABLE
shohinsRECORDREPEATED
itemSTRINGREPEATED
priceINTEGERREPEATED

REPEATEDの項目をそのままSELECTしようとすると以下のようなエラーが出ます

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT
id,
created_time,
item,
price
FROM
dataset.table
LIMIT 3
> Unrecognized name: items at [4:4]
SELECT id, created_time, item, price FROM dataset.table LIMIT 3 > Unrecognized name: items at [4:4]
SELECT
  id,
  created_time,
  item,
  price
FROM
  dataset.table
LIMIT 3

> Unrecognized name: items at [4:4]

対策としては、以下のようにREPEATEDになっている項目をUNNESTで指定してから、SELECTする

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT
id,
created_time,
s.item,
s.price
FROM
dataset.table,
UNNEST(shohins) AS s
LIMIT 3
SELECT id, created_time, s.item, s.price FROM dataset.table, UNNEST(shohins) AS s LIMIT 3
SELECT
  id,
  created_time,
  s.item,
  s.price
FROM
  dataset.table,
  UNNEST(shohins) AS s
LIMIT 3
idcreated_timeitemsprice
a1232023-08-01りんご300
a1232023-08-01みかん400
a1232023-08-03バナナ200


この記事が気に入ったら『目黒で働く分析担当の作業メモ』ご支援をお願いします!

※OFUSEに飛びます


おすすめの記事