在bigquery上展开数组

问题描述 投票:0回答:1

我正在使用BigQuery,并且我有一个带有嵌套字段的表格,需要对其进行展平才能下载该表格。我找到了说明页(https://cloud.google.com/life-sciences/docs/how-tos/flatten-bigquery-table),但我不太了解。

这里是代码:

standardSQL

SELECT
      reference_name, start_position, end_position, reference_bases,
      call.name AS call_name
FROM
      `PROJECT_ID.BIGQUERY_DATASET.BIGQUERY_TABLE` AS t,
      t.call AS call

我理解为什么我们要写“ call.name AS call_name”。但是我不明白为什么我们写“ t.call AS call”?字母“ t”在这里代表什么?我们为什么写t.call?为什么我们需要使用“ AS调用”创建别名?

谢谢您的帮助!

sql arrays google-bigquery
1个回答
0
投票

我很困惑。 “平移”是指重复的字段-数组。您使用unnest展平它们。那将是:

SELECT reference_name, start_position, end_position, reference_bases,
       call.name AS call_name
FROM `PROJECT_ID.BIGQUERY_DATASET.BIGQUERY_TABLE` t CROSS JOIN
      UNNEST(t.calls) AS call

这说:

  • [calls是表中的重复字段。
  • calls是一个结构。
  • [calls有一列称为name

外部查询中将返回名称列。

© www.soinside.com 2019 - 2024. All rights reserved.