Bigquery 子函数无法创建附加列

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

我在 BigQuery 中有一个脚本,例如:

选择 a_random_name 为 a_understandable_name b_random_name 为 b_understandable_name 开始时间

concat(a_random_name,b_random_name) 作为扩展名, DATETIME_TRUNC(start_time,DAY) 作为日

来自“我的表”

但是我想在脚本中使用可理解的名称来进行进一步的工作,所以我尝试使用嵌套查询:

从中选择 * (选择 a_random_name 为 a_understandable_name b_random_name 为 b_understandable_name 开始时间

来自“我的表”)

concat(a_understandable_name,b_understandable_name) 作为扩展名, DATETIME_TRUNC(start_time,DAY) 作为日

我正在尝试移动转换,例如导入和重命名查询后的 concat、DateTime_Trunc,但我在 concat 和 DateTime_Trunc 中的“AS”语句上收到错误 - 问题似乎是我无法在此处创建列?

如果我使用 concat(a_understandable_name,b_understandable_name) DATETIME_TRUNC(开始时间,天)

它可以工作,但我在输出中看不到执行这些计算的任何列 FWIW 我是初学者,所以这可能是基本的东西。

google-bigquery
1个回答
0
投票

您需要从子查询本身进行选择,因此您实际上需要翻转此处的顺序。尝试以下操作:

SELECT
CONCAT(a_understandable_name,b_understandable_name) as extended_name, 
DATETIME_TRUNC(start_time,DAY) as Day
FROM
(SELECT
a_random_name as a_understandable_name,
b_random_name as b_understandable_name,
start_time
FROM 'my_table')
© www.soinside.com 2019 - 2024. All rights reserved.