【问题标题】:2 SELECT STATEMENTS in one BIGQUERY一个 BIGQUERY 中的 2 个 SELECT 语句
【发布时间】:2021-08-13 08:09:09
【问题描述】:

我有一个计算字段“Workday”,它工作正常,使用这个计算字段我试图创建另一个计算字段“FTE”,这给了我一个错误

在 BQ 中写这个的正确方法是什么

我的查询:

(select((select count(*) from unnest(generate_date_array(date_trunc('2021-05-25', month), last_day('2021-05-25', month ))) day where not extract(dayofweek from day) in (1, 7))) as Workday),
(select SAFE_DIVIDE(AMOUNT, SAFE_MULTIPLY(MAX(Workday,(7.35))))) as FTE,

【问题讨论】:

  • 您遇到的错误是什么?
  • 无法识别的名称:Workday at ...

标签: sql google-cloud-platform google-bigquery


【解决方案1】:

也许将原始查询封装到另一个查询中?

select workday
from (
  select (...) as workday
  from ...
)

SAFE_MULTIPLY 也应该有 2 个参数,MAX 应该有 1 个参数

【讨论】:

  • (select count(*) from unnest(generate_date_array(date_trunc(CALENDAR_DATE, month), last_day(CALENDAR_DATE, month))) 在 (1, 7) 中未提取的日期(dayofweek from day))作为工作日,(SELECT SAFE_DIVIDE(AMOUNT,(SAFE_MULTIPLY(Workdays,7.35)))) 作为 FTE
  • 无法识别之前选择的工作日,如果我将工作日替换为 21 等静态值,则查询工作正常
猜你喜欢
  • 1970-01-01
  • 2021-01-05
  • 2017-08-22
  • 1970-01-01
  • 2010-10-07
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
相关资源
最近更新 更多