Table 子查询的别名
Table Aliases into Subqueries
(在此处提交以帮助可能 运行 遇到类似挑战的其他 Snowflake 用户...有兴趣查看除了已经提供的蜜蜂之外是否还有其他建议。)
为什么 table 别名不能用于子查询?
我正在使用示例 table select 查询,但是当我编写 table 别名时它不起作用。
select * from SNOWFLAKE_SAMPLE_DATA.TPCDS_SF100TCL.STORE as t
where
t.S_REC_START_DATE = (
select max(i.S_REC_START_DATE) from t as i
where i.S_REC_START_DATE < '2000-01-01'
)
我遇到 SQL 编译错误:Object 'T' does not exist
。
无法使用 table 别名?
(之前由 Snowflake 专业服务团队的终身成员 Mike Walton 提供)
可以,但不是那样。您应该使用 CTE,而不是:
WITH t as (
select * from SNOWFLAKE_SAMPLE_DATA.TPCDS_SF100TCL.STORE
)
select * FROM t
where t.S_REC_START_DATE = (
select max(S_REC_START_DATE) as S_REC_START_DATE from t
where S_REC_START_DATE < '2000-01-01'
)
还有其他想法and/or建议吗?
(在此处提交以帮助可能 运行 遇到类似挑战的其他 Snowflake 用户...有兴趣查看除了已经提供的蜜蜂之外是否还有其他建议。)
为什么 table 别名不能用于子查询?
我正在使用示例 table select 查询,但是当我编写 table 别名时它不起作用。
select * from SNOWFLAKE_SAMPLE_DATA.TPCDS_SF100TCL.STORE as t
where
t.S_REC_START_DATE = (
select max(i.S_REC_START_DATE) from t as i
where i.S_REC_START_DATE < '2000-01-01'
)
我遇到 SQL 编译错误:Object 'T' does not exist
。
无法使用 table 别名?
(之前由 Snowflake 专业服务团队的终身成员 Mike Walton 提供)
可以,但不是那样。您应该使用 CTE,而不是:
WITH t as (
select * from SNOWFLAKE_SAMPLE_DATA.TPCDS_SF100TCL.STORE
)
select * FROM t
where t.S_REC_START_DATE = (
select max(S_REC_START_DATE) as S_REC_START_DATE from t
where S_REC_START_DATE < '2000-01-01'
)
还有其他想法and/or建议吗?