podrías trabajar con el Case campo que te sirve de bandera
                                               When valor Then suma
                                               When valor Then resta
                                      End
lo resaltado son palabras claves...
 
espero y te sirva....
N. Nidia Hernández Ochoa
DBA_Líder de Inteligencia de Negocios
-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]En nombre de [EMAIL PROTECTED]
Enviado el: Viernes, 03 de Marzo de 2006 10: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.

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Responder a