Lo he probado y funciona perfectamente.
Muchas gracias por vuestra ayuda.
Saludos.
| "Hector Vera G."
<[EMAIL PROTECTED]>
Enviado por: [EMAIL PROTECTED] 03/03/2006 18:28
|
|
MAS O MENOS SERIA ASI..............!!!!! PRUEBALO
SALUDOS,
hector
DECLARE C1 CURSOR FOR
SELECT MESCON,AÑOCON,NUMDOC,NUMPRO,FRAPRO,
SUM(CASE WHEN CODREG ='D' THEN IMPDIF ELSE IMPDIF * -1) AS SUMA
FROM FCPDIF
WHERE (DELDES= :DDEL OR :DDEL =0) AND
(CODFAM= :DFAM OR :DFAM =' ') AND
(CODDIF= :DCOD OR :DCOD =0) AND
(ORIGE1= :DORI OR :DORI =' ') AND
(OK1 = :DSOL OR :DSOL =' ')
GROUP BY MESCON,AÑOCON,NUMDOC,NUMPRO,FRAPRO
HAVING (MESCON= :DMESC OR :DMESC=0) AND
(AÑOCON= :DANOC OR :DANOC=0) AND
(NUMDOC= :DDOCN OR :DDOCN=0) AND
(NUMPRO= :DPROA OR :DPROA=0) AND
(FRAPRO= :DDOCS OR :DDOCS=' ')
-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]En nombre de [EMAIL PROTECTED]
Enviado el: Viernes, 03 de Marzo de 2006 11:29 a.m.
Para: [email protected]
Asunto: Pregunta de SQL
Buenas,
Tengo la siguiente sentencia SQL que me funciona bien
DECLARE C1 CURSOR FOR
SELECT MESCON,AÑOCON,NUMDOC,NUMPRO,FRAPRO,SUM(IMPDIF)
FROM FCPDIF
WHERE (DELDES= :DDEL OR :DDEL =0) AND
(CODFAM= :DFAM OR :DFAM =' ') AND
(CODDIF= :DCOD OR :DCOD =0) AND
(ORIGE1= :DORI OR :DORI =' ') AND
(OK1 = :DSOL OR :DSOL =' ')
GROUP BY MESCON,AÑOCON,NUMDOC,NUMPRO,FRAPRO
HAVING (MESCON= :DMESC OR :DMESC=0) AND
(AÑOCON= :DANOC OR :DANOC=0) AND
(NUMDOC= :DDOCN OR :DDOCN=0) AND
(NUMPRO= :DPROA OR :DPROA=0) AND
(FRAPRO= :DDOCS OR :DDOCS=' ')
El problema es con el SUM(IMPDIF), por que no siempre se debe sumar , hay un campo(CODREG,->'D' O 'H')) que determina si IMPDIF se debe suma o restar y esto es lo que no se hacer; seguro que hay una manera facil de hacerlo pero la verdad es que no estoy muy puesto en SQL.
Alguna idea?
Gracias por anticipado.
| Este mensaje se dirige exclusivamente
a su destinatario y puede contener información privilegiada o confidencial.
Si no es vd. el destinatario indicado, queda notificado de que la utilización,
divulgación y/o copia sin autorización está prohibida en virtud de la legislación
vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique
inmediatamente por esta misma vía y proceda a su destrucción. This message is intended exclusively for its addressee and may contain information that is CONFIDENTIAL and protected by professional privilege. If you are not the intended recipient you are hereby notified that any dissemination, copy or disclosure of this communication is strictly prohibited by law. If this message has been received in error, please immediately notify us via e-mail and delete it. |
| Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o confidencial. Si no es vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. This message is intended exclusively for its addressee and may contain information that is CONFIDENTIAL and protected by professional privilege. If you are not the intended recipient you are hereby notified that any dissemination, copy or disclosure of this communication is strictly prohibited by law. If this message has been received in error, please immediately notify us via e-mail and delete it. |
