2012-02-15 16 views
0

存在しません[EDIT:この問題は、バージョン3.7.6内のバグの結果であった]ジャスパー・レポート:エラー:演算子は日付=ブール

次PostgreSQLのクエリはエラーを返して:

operator does not exist date = boolean. 

私は理由を理解できません。ここに私にエラーを与えているpostgresqlコードはあります:

select 
    c.source, 
    s.name, 
    s.grouping, 
    s.kli, 
    s.term_desc, 
    (s.population - s.online) as non_hb_pop, 
    s.online as hb_pop, 
    s.population as full_pop, 
    s.rep_date 

from 
    dwh.rpt_cu_private_kli_summary s, dwh.rpt_sgmt_clients c 
where 

    s.partner_id::integer = $P{rpt_cu} 
    and s.rep_date = $P{rpt_date_beg} 
    and s.userid=c.userid 

group by 
    c.source, s.term_desc, s.name, s.grouping, 
    s.population, s.online, s.kli, s.rep_date 
order by 
    s.grouping, 
    full_pop desc, 
    s.term_desc; 

上記のエラーメッセージは何を意味していますか?

+1

'group by'の目的は何ですか?私は集計が使用されていないと思う。 – wildplasser

+0

私は集計を使用していましたが、GROUP BYを取り除かずに取り出しました。私にそれを指摘していただきありがとうございます! – precose

+0

PostgreSQLログからパラメータの置換後にクエリのログを有効にし、実行されたクエリを取得します。それを投稿する。 paramsも表示する次のログ行を含める必要があります。 set log_statement = 'all'、PostgreSQLをリロードしてクエリを再実行し、クエリとparamsをログから取り出して、ここに貼り付けます。 –

答えて

2

$ P {rpt_date_beg}の値は何ですか?それは物事がうまくいかないところです。実際のクエリをチェックし、エラーログに記録しておき、デバッグをしてください。たぶん、いくつかの引用符は、日付の値の周りに見当たりません。

+0

$ P {rpt_date_beg}は、Postgres DB内にある 'Date'として設定されていました。フィールドは2012-01-16のようになります。クエリを入力中にそのエラーを受け取ったにもかかわらず、私はまだOKを押しました。いったん私が何か新しいものをタイプしない限り、私はクエリを編集するために戻ってきて、エラーはなくなってしまった。私はそれがバグかどうか分からない。 – precose