0

(同様の課題に遭遇する可能性のある他のSnowflakeユーザーを支援するためにここに送信します...すでに提供されているもの以外に追加の推奨事項があるかどうかを確認してください。)

テーブルエイリアスがサブクエリで機能しないのはなぜですか?

サンプルのテーブル選択クエリを使用していましたが、テーブル エイリアスをコーディングすると機能しません。

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

テーブルエイリアスを使用することはできませんか?

4

1 に答える 1

0

(以前は、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'
        )

他のアイデアや推奨事項はありますか?

于 2019-10-28T16:52:43.710 に答える