重命名 bigquery 标准 SQL 中的未命名列

Posted

技术标签:

【中文标题】重命名 bigquery 标准 SQL 中的未命名列【英文标题】:Rename unamed column in bigquery standard-sql 【发布时间】:2018-10-05 10:51:01 【问题描述】:

我正在尝试重命名由函数 UNNEST(GENERATE_ARRAY(0,5,1)) 生成的第一个也是唯一的列,以便它可以在 JOIN 中使用。

我已经尝试了本文中详述的解决方案,但似乎 STANDARD SQL 不支持这些别名:https://modern-sql.com/use-case/naming-unnamed-columns

【问题讨论】:

【参考方案1】:

参见下面的简化示例

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 id, 10 val UNION ALL
  SELECT 2, 11 UNION ALL
  SELECT 10, 12
)
SELECT id, val 
FROM `project.dataset.table`
JOIN UNNEST(GENERATE_ARRAY(0,5,1)) key
ON id = key
ORDER BY id

应该是自我描述的 :o)

【讨论】:

【参考方案2】:

您可以在select 语句中为其指定一个别名,如as array_values,并在您的查询中使用别名引用它。

【讨论】:

以上是关于重命名 bigquery 标准 SQL 中的未命名列的主要内容,如果未能解决你的问题,请参考以下文章

重命名 Pyspark Dataframe 中的未命名列

如何重命名 Big Query 中的列? [关闭]

BigQuery 加载 JSON 文件:如何忽略或重命名字段?

重命名 SQL Server 中的存储过程

如何使用 SQL 重命名数据库表中的列?

sql 重命名MySQL中的表