Hi.

 I have a question about ReportQueryByCriteria and the SQL created

 I have the following Query defined:

 ReportQueryByCriteria query = new ReportQueryByCriteria(Recibo.class,
 criterio);

 query.setAttributes(new String[] {
     "rec_num", "rec_fecha", "cliente.cli_nombre",
     "COALESCE(rec_monto_cordobas,0)+COALESCE(rec_mora_cordobas,0)",
     "COALESCE(rec_monto_dolares,0)+COALESCE(rec_mora_dolares,0)" });

  query.addGroupBy(new String[] {
     "rec_num", "rec_fecha", "cliente.cli_nombre",
     "rec_monto_cordobas", "rec_monto_dolares",
     "rec_mora_cordobas",  "rec_mora_dolares" });

  query.addOrderBy("rec_num", true);

  Criteria criterioHaving = new Criteria();
  criterioHaving.addEqualTo("max(reciboestadoList.rec_estado_id)",
                           new Integer(1));
  query.setHavingCriteria(criterioHaving);

  The following is the SQL created:

  SELECT A0.REC_NUM, A0.REC_FECHA, A2.CLI_NOMBRE,
         COALESCE(rec_monto_cordobas,0)+COALESCE(rec_mora_cordobas,0),
         COALESCE(rec_monto_dolares,0)+COALESCE(rec_mora_dolares,0)
  FROM (RECIBO A0 INNER JOIN RECIBOESTADO A1 ON A0.REC_NUM=A1.REC_NUM)
       INNER JOIN CLIENTE A2 ON A0.CLI_ID=A2.CLI_ID
  GROUP BY A0.REC_NUM, A0.REC_FECHA, A2.CLI_NOMBRE, A0.REC_MONTO_CORDOBAS,
           A0.REC_MONTO_DOLARES,A0.REC_MORA_CORDOBAS,A0.REC_MORA_DOLARES
  HAVING max(A1.REC_ESTADO_ID) = ?
  ORDER BY 1

  then my question is:

  why in this sentence:
    COALESCE(rec_monto_cordobas,0)+COALESCE(rec_mora_cordobas,0)
  the field rec_monto_cordobas is not resolve like A0.rec_monto_cordobas
  AND field rec_mora_cordobas is not resolve like A0.rec_mora_cordobas ?

  COALESCE is a function in PostgreSQL.

  any advice are welcome.

  I'm using db-ojb-1.0.1.

  Cheers.

-- 
Carlos Ch�vez

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to