访问 'f0_' 字段
Accessing an 'f0_' field
我在 BigQuery 中使用以下 SQL 代码创建了一个包含范围内日期列表的通用 table 表达式:
WITH calendar AS(
SELECT * FROM UNNEST(GENERATE_DATE_ARRAY('2020-01-01', CURRENT_DATE(), INTERVAL 1 DAY))
)
如果我要 运行 作为不带 'WITH' 子句的查询,查询将 return 一个名为 'f0_' 的列(您应该能够自己重现此结果)。
现在,我遇到的问题是,当我尝试在单独的 SELECT 语句中访问该列时,无法识别名称 'f0_'。 (“无法识别的名称:f0_”)
WITH calendar AS(
SELECT * FROM UNNEST(GENERATE_DATE_ARRAY('2020-01-01', CURRENT_DATE(), INTERVAL 1 DAY))
)
SELECT f0_
FROM calendar
当然,该查询本身是没有意义的,因为我可以 运行 第一个 SELECT 语句而不需要 WITH 子句,而不需要第二个 SELECT 语句。我明白了。虽然我追求的最终结果有点复杂,但上面的逻辑应该足以解释我遇到的问题。基本上,如果那个公共 table 表达式 return 中的 SELECT 语句是一个名为 'f0_' 的列,而当我 运行 它作为独立查询时,为什么我的第二个 SELECT 语句 return 引用一个常见的 table 表达式时出现错误,该表达式似乎应该 return 一个名为 'f0_'.
的列
我假设它与 'f0_' 类似,不是真名 - 它只是在没有任何指定名称的情况下分配的东西,或者当您 运行 它作为一个普通的 table 表达式而不是一个简单的 SELECT 语句。有没有一种方法可以在我的公共 table 表达式中为未嵌套的日期数组添加别名,以便我可以在查询的第二部分访问它?或者其他一些解决方案?
只需使用别名:
WITH calendar AS(
SELECT *
FROM UNNEST(GENERATE_DATE_ARRAY('2020-01-01', CURRENT_DATE(), INTERVAL 1 DAY)) as dt
)
SELECT dt
FROM calendar
我在 BigQuery 中使用以下 SQL 代码创建了一个包含范围内日期列表的通用 table 表达式:
WITH calendar AS(
SELECT * FROM UNNEST(GENERATE_DATE_ARRAY('2020-01-01', CURRENT_DATE(), INTERVAL 1 DAY))
)
如果我要 运行 作为不带 'WITH' 子句的查询,查询将 return 一个名为 'f0_' 的列(您应该能够自己重现此结果)。
现在,我遇到的问题是,当我尝试在单独的 SELECT 语句中访问该列时,无法识别名称 'f0_'。 (“无法识别的名称:f0_”)
WITH calendar AS(
SELECT * FROM UNNEST(GENERATE_DATE_ARRAY('2020-01-01', CURRENT_DATE(), INTERVAL 1 DAY))
)
SELECT f0_
FROM calendar
当然,该查询本身是没有意义的,因为我可以 运行 第一个 SELECT 语句而不需要 WITH 子句,而不需要第二个 SELECT 语句。我明白了。虽然我追求的最终结果有点复杂,但上面的逻辑应该足以解释我遇到的问题。基本上,如果那个公共 table 表达式 return 中的 SELECT 语句是一个名为 'f0_' 的列,而当我 运行 它作为独立查询时,为什么我的第二个 SELECT 语句 return 引用一个常见的 table 表达式时出现错误,该表达式似乎应该 return 一个名为 'f0_'.
的列我假设它与 'f0_' 类似,不是真名 - 它只是在没有任何指定名称的情况下分配的东西,或者当您 运行 它作为一个普通的 table 表达式而不是一个简单的 SELECT 语句。有没有一种方法可以在我的公共 table 表达式中为未嵌套的日期数组添加别名,以便我可以在查询的第二部分访问它?或者其他一些解决方案?
只需使用别名:
WITH calendar AS(
SELECT *
FROM UNNEST(GENERATE_DATE_ARRAY('2020-01-01', CURRENT_DATE(), INTERVAL 1 DAY)) as dt
)
SELECT dt
FROM calendar