PostgreSQL クエリで厄介な問題に遭遇しました。これは私のローカル開発環境で動作します:
SELECT distinct (user_id) user_id, created_at, is_goodday
FROM table
WHERE ((created_at >= '2011-07-01 00:00:00') AND user_id = 95
AND (created_at < '2011-08-01 00:00:00'))
ORDER BY user_id, created_at ASC;
...しかし、私のQAサーバー(Heroku上にあります)で次のエラーが発生します:
PGError: ERROR: syntax error at or near "user_id"
LINE 1: SELECT distinct (user_id) user_id, created_at,
^
これはなぜですか?
その他の関連情報:
フィールド名を一重引用符と二重引用符で囲んでみました
これは Rails 3 アプリですが、私はこの SQL raw を使用しています。つまり、ActiveRecord マジックはありません。
Postgres のローカル バージョンは Mac で 9.0.4 ですが、Heroku が使用しているバージョンがわかりません