Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-12-2009
darwinhdez darwinhdez is offline
Registrado
 
Registrado: dic 2009
Posts: 3
Poder: 0
darwinhdez Va por buen camino
Suma y resta de registros

hola, alguien podria decirme como realizar una resta segun la condicion, tengo una tabla con los siguientes campos:

CLV_ART, TIPO_MOV, FECHA_DOCU, CANT

tengo la siguiente consulta que lo que hace es sumar el campo CANT de los registros que cumplan la condicion TIPO_MOV = 51

SELECT CLV_ART, SUM(CANT) FROM MINV01
WHERE TIPO_MOV = 51
AND (CLV_ART LIKE "15%") OR (CLV_ART LIKE "29%")
AND FECHA_DOCU >= '09/01/2009' AND FECHA_DOCU <= '09/30/2009'
GROUP BY CLV_ART

hasta aqui no hay problema, pero necesito restar la cantidad de los registros que cumplan con la condicion TIPO_MOV = 02 y 04

Saludos
Responder Con Cita
  #2  
Antiguo 26-12-2009
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
Hola,

aquí tienes una posible solución que funcionaría (no lo he comprobado) en Oracle y PostgreSQL sin problemas:

Código SQL [-]
SELECT CLV_ART, 
  SUM(CASE WHEN TIPO_MOV = 51 THEN CANT ELSE CANT*-1 END) FROM MINV01
WHERE TIPO_MOV IN (51,2,4)
AND (CLV_ART LIKE "15%") OR (CLV_ART LIKE "29%")
AND FECHA_DOCU >= '09/01/2009' AND FECHA_DOCU <= '09/30/2009'
GROUP BY CLV_ART

Aunque no dices que base de datos/versión estás utilizando.
Responder Con Cita
  #3  
Antiguo 26-12-2009
darwinhdez darwinhdez is offline
Registrado
 
Registrado: dic 2009
Posts: 3
Poder: 0
darwinhdez Va por buen camino
estoy utilizando Paradox
Responder Con Cita
  #4  
Antiguo 26-12-2009
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
Lo siento, no podré ayudar con Paradox.
Responder Con Cita
  #5  
Antiguo 26-12-2009
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
var
Tm02,Tm04,TmDif Double;
begin
//ejecutas la consulta con la primera condición:
Tm02:=Query1.Fields[0].AsFloat;
//ejecutas la consulta con la segunda condición:
Tm04:=Query1.Fields[0].AsFloat;

TmDif:=Tm02 - Tm04;

ShowMessage(FormatFloat(',0.00'.TmDif));
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Suma o resta de fechas el_enigma1 SQL 7 11-10-2013 19:27:55
Resta Hexadecimal ??? Ðαяισš Varios 6 15-09-2010 11:34:17
suma y resta de Fechas lKinGl Varios 6 03-05-2008 22:53:32
Suma de Registros gerasA Varios 7 22-01-2008 18:09:46
Suma/resta de un campo dependiendo del valor de otro huanque SQL 2 11-09-2004 20:23:47


La franja horaria es GMT +2. Ahora son las 12:20:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi