Bigquery 列名不明确

Bigquery Column name is ambiguous

在我的 table 中,我有一个列名“Status”和一个 RECORD 类型的列名“Payment”,其中有另一个列名“Status”。所以我基本上有 2 列:“状态”和“Payment.Status”。当我想 UNNEST STRUCT 数据(“付款”列)并使用数据时,我会收到错误消息 Column name STATUS is ambiguous

如何解决这个问题? 提前致谢

当您尝试使用 'STATUS' 时,BigQuery 不知道您指的是哪个列。 您可以通过给您的 UNNEST() 一个别名并使用它来引用您正在使用的特定列来克服这个问题。

示例:

with example_data as (
    select true as status,
    [STRUCT( 123 as id, false as status)] as payment
)

select e.status, 
       p.id,
       p.status as payment_status
from example_data e, unnest(payment) as p