¿Has probado si la sentencia SQL es correcta? Porque el error parece estar ahí, en SQL, no en nada relacionado con Java.
Es un error del comando SQL.
¿No te da más información la excepción, como la posición del error?
Me extraña que la traza de una excepción SQL no lo diga.
Hola. quiero hacer un unino a una tabla para traer los registros de pago de una tabla y anexar los refitsros de otra pero tengo el error
Caused by: java.sql.SQLException: ORA-00928: missing SELECT keyword
Gracias
<select id="obtenerMontosTotalesPorCanalCobroFecha" parameterClass="java.util.HashMap" resultClass="com.primero.unico.modelDb.MontosTotalesPorCanal">
SELECT
CANAL.IDCANALCOBRO AS IDCANALCOBRO,
CANAL.NOMBRECUENTA AS NOMBRECANAL,MIN(CALENDARIO.FECHAPAGO) AS FECHAPAGO,
SUM(DECODE(CALENDARIO.ESTATUS,'PAG',CALENDARIO.MONTO,0)) AS MONTOPAGADO,
COUNT(DECODE(CALENDARIO.ESTATUS,'PAG',CALENDARIO.MONTO,NULL)) AS NUMPAGADO,
SUM(DECODE(CALENDARIO.ESTATUS,'RECH',CALENDARIO.MONTO,0)) AS MONTORECHAZADO,
COUNT(DECODE(CALENDARIO.ESTATUS,'RECH',CALENDARIO.MONTO,NULL)) AS NUMRECHAZADO,
SUM(DECODE(CALENDARIO.ESTATUS,'ENV',CALENDARIO.MONTO,0)) AS MONTOENVIADO,
COUNT(DECODE(CALENDARIO.ESTATUS,'ENV',CALENDARIO.MONTO,NULL)) AS NUMENVIADO,
SUM(DECODE(CALENDARIO.ESTATUS,'ACT',CALENDARIO.MONTO,0)) AS MONTOPROGRAMADO,
COUNT(DECODE(CALENDARIO.ESTATUS,'ACT',CALENDARIO.MONTO,NULL)) AS NUMPROGRAMADO,
CALENDARIO.IDPAGO AS IDPAGO,
LVAL.DESCRIP AS TIPODOMICILIACION
FROM ACSEL.UNICO_CANALCOBRO CANAL
LEFT JOIN ACSEL.UNICO_AFILIACION AFILIACION ON (CANAL.IDCANALCOBRO = AFILIACION.IDCANALCOBRO)
LEFT JOIN ACSEL.UNICO_AFILIACION_CALENDARIO CALENDARIO ON
(AFILIACION.IDAFILIACION = CALENDARIO.IDAFILIACION AND
TRUNC (CALENDARIO.FECHAPAGO) BETWEEN TRUNC(#fechaInicio#) and TRUNC(#fechaFin#) ) UNION IDREC FROM recibo WHERE STSREC = 'ACT'
LEFT JOIN ACSEL.RECIBO recibo on(CALENDARIO.MONTO=recibo.MTOLOCAL)
LEFT JOIN ACSEL.LVAL LVAL ON (LVAL.TIPOLVAL = AFILIACION.CATALOGOTIPODOMI AND LVAL.CODLVAL = AFILIACION.TIPODOMI)
WHERE CANAL.ESTATUS='ACTIVO' AND AFILIACION.ESTATUS IN ('ACT', 'ALTA') UNION SELECT recibo.MTOLOCAL FROM ACSEL.RECIBO recibo on(CALENDARIO.MONTO=recibo.MTOLOCAL)where FECFINVIG
AND CALENDARIO.FECHAPAGO IS NOT NULL
AND CANAL.IDCANALCOBRO IN
#listaCanalesCobro[]#
GROUP BY CANAL.IDCANALCOBRO, CANAL.NOMBRECUENTA, CALENDARIO.IDPAGO, LVAL.DESCRIP
ORDER BY CALENDARIO.IDPAGO ASC
</select>