目的
業務中に下記のエラーが出てきてだいぶ困ったので他の人の助けになればと思い、久しぶりに投稿する。
ERROR: missing FROM-clause entry for table " <table_name>"
概要
PostgrSQLのパフォーマンスチューニングを行っており、ログからスロークエリを見つけ出し、EXPLAINで実行計画を確認しようとしていると上記のエラーに遭遇した。
解決策
目的に記載されているエラー文はハイライトされていて、解決策が一瞬でわかったかもしれないが、自分はだいぶ解決に時間を要した。
そう、この場合はスペースを抜く必要がある。
「しかしスペースなどSQL文をもう一度確認してもない、、」という人がいるのではないか。
もう一度ターミナルで一文字ずつずらしてみてみよう。大文字のスペースになっているところなどあるのではないか。
自分は業務内容の問題で、スプレッドシートからSQL文をコピペしたため、大文字スペースが入ってしまっていた。
スペース以外にも存在していないテーブル名やカラム名を指定していると同じエラーに遭遇するようだ。