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 09-04-2010
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Prueba cambiando tu query de esta forma

Código SQL [-]
SELECT DISTINCT 
  dbo.PM20000.VENDORID,
  dbo.PM00200.VENDNAME,
  SALDO = SUM( CASE WHEN(dbo.PM20000.DOCTYPE <> 6 AND dbo.PM20000.DOCTYPE <> 5) THEN dbo.PM20000.CURTRXAM ELSE 0 END) AS FIELD_1,
  SALDO1 = SUM(CASE WHEN(dbo.PM20000.DOCTYPE = 6 AND dbo.PM20000.DOCTYPE = 5) THEN 0 ELSE SUM(dbo.PM20000.CURTRXAM) *-1 END) AS FIELD_2
FROM
  dbo.PM20000
  INNER JOIN dbo.PM00200 ON (dbo.PM20000.VENDORID = dbo.PM00200.VENDORID)
GROUP BY
  dbo.PM20000.VENDORID,
  dbo.PM00200.VENDNAME,
  dbo.PM20000.DOCTYPE
Responder Con Cita
  #2  
Antiguo 09-04-2010
DasGrun DasGrun is offline
Miembro
 
Registrado: abr 2008
Posts: 109
Poder: 17
DasGrun Va por buen camino
El Resultado es lo mismo agregandole el SUM, A continuacion te Presento un Query y el resultado para que lo mires mas detalladamente.

Código SQL [-]
SELECT DISTINCT
dbo.PM20000.VENDORID,
CUENTAS_PAGAR = CASE WHEN (dbo.PM20000.DOCTYPE <> 6 AND  dbo.PM20000.DOCTYPE <> 5) THEN SUM(dbo.PM20000.DOCAMNT) ELSE '0.00' END,
PAGOS = CASE WHEN (dbo.PM20000.DOCTYPE = 6 OR dbo.PM20000.DOCTYPE = 5) THEN SUM(dbo.PM20000.DOCAMNT) * -1 ELSE '0.00' END
FROM
  dbo.PM20000
GROUP BY 
  dbo.PM20000.VENDORID,
  dbo.PM20000.DOCTYPE

El resultado es el Siguiente.

Código:
VENDORID        CUENTAS_PAGAR          PAGOS
00001                        1000                         0 
00001                        0                              -1000
00002                        2000                         0  
00002                        0                              -1000  
00003                        500                           0  
00003                        0                              -4000
Para el VENDORID 00001 su saldo es 0 porque el total de la suma de CUENTAS_PAGAR es igual a total de suma de PAGOS, el VENDORID 00002 Su saldo es 1000 porque 2000 +(-1000) = 1000; el saldo del VENDORID 00003 es -3500 porque 500 + (-4000) = -3500

Lo que necesito es crear un campo que me sume estas columna siempre y cuando es el Mismo VENDORID.

Gracias Nuevamente.
__________________
Hasta Mis Huesos son Codificados?
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
Lost connection to MySql server during query Bertifox2008 Conexión con bases de datos 6 12-03-2014 21:20:36
Analisis de un sistema Puberta Varios 40 15-12-2007 03:54:15
ejecutar un query accesando tablas de Oracle desde SQL Server SQL Server MS SQL Server 1 02-03-2007 23:44:18
Analisis de sistemas Garnet Varios 3 23-10-2005 04:02:49
Análisis Químico Nuria Humor 5 04-05-2004 17:15:52


La franja horaria es GMT +2. Ahora son las 09:16:25.


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