我正在使用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调用”创建别名?
谢谢您的帮助!
我很困惑。 “平移”是指重复的字段-数组。您使用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
。外部查询中将返回名称列。