尝试取消嵌套数组字段时,BigQuery中出现“列名ID不明确”错误

Ole*_*nko 2 sql arrays google-bigquery

我有一个具有这样的架构的BigQuery表(为简洁起见,列出了重要的字段):

id [STRING]
products [RECORD]
products.id [STRING]
Run Code Online (Sandbox Code Playgroud)

我正在尝试执行查询,并获得id和products.id,如下所示:

SELECT 
  id as transaction_id,
  products.id as product_id
FROM 
  `my-project.set.transactions_table`,
  UNNEST(products) as products
Run Code Online (Sandbox Code Playgroud)

并得到一个错误: Column name id is ambiguous at [2:3]

如何在这里消除歧义?

Jua*_*eza 5

您的第一个id是模棱两可的。只需要添加表源

SELECT 
  transactions.id as transaction_id,
  products.id as product_id
FROM 
  `my-project.set.transactions_table` as transactions,
  UNNEST(products) as products
Run Code Online (Sandbox Code Playgroud)