【问题标题】:BigQuery error ARRAY<STRUCT<gameType STRING, amount ARRAY<STRUCT<amount FLOAT64, type STRING>>>>BigQuery 错误 ARRAY<STRUCT<gameType STRING, amount ARRAY<STRUCT<amount FLOAT64, type STRING>>>>
【发布时间】:2020-09-22 02:42:21
【问题描述】:

我在 BigQuery 上有一些表,其架构如下所示。

当我执行以下查询时,我遇到了一些异常

select * from `test.test.test_partitioned` WHERE DATE(_PARTITIONTIME) = "2020-03-01"  and account.final_balance_sum >1

Cannot access field final_balance_sum on a value with type ARRAY<STRUCT<account_name STRING, final_balance_sum FLOAT64>> at [16:141]

我已经尝试过这里的解决方案,似乎对我根本不起作用。

Cannot access field in Big Query with type ARRAY<STRUCT<hitNumber INT64, time INT64, hour INT64, ...>>

【问题讨论】:

  • 你能分享你的表的架构吗?好像您的表格有嵌套字段。
  • 是的,它嵌套了字段,我现在已将我的架构附加到票证上
  • 我没有看到 final_balance_sum 是帐户记录列的一部分。您是否尝试运行 - select * from test.test.test_partitioned WHERE DATE(_PARTITIONTIME) = "2020-03-01" and final_balance_sum >1
  • 是的,试过了,不行

标签: google-bigquery bq


【解决方案1】:
select * EXCEPT(acc)
from `test.test.test_partitioned`,
UNNEST(account) acc
WHERE DATE(_PARTITIONTIME) = "2020-03-01"  
and acc.final_balance_sum >1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-30
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2023-01-13
    • 2017-06-06
    相关资源
    最近更新 更多