Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Unir una tabla consigo misma (https://www.clubdelphi.com/foros/showthread.php?t=20371)

sitrico 13-04-2005 22:21:33

Unir una tabla consigo misma
 
Tengo una tabla (DBE) con la estructura

ID (autoInc)
Codigo
Descripcion
Monto

Contiene varios registros para el mismo código y lo que quiero es totalizarlos pero obteniendo 2 columnas de monto DEBE (>= 0) y (HABER < 0)

puedo obtener una columna con:

Código SQL [-]
Select Codigo, SUM(Monto) Total FROM "TABLA"
Group by Codigo

Estoy tratando de unir las dos tablas con:

Código SQL [-]
select Codigo, SUM(a.Monto), SUM(b.Monto)  from "TABLA" A, "TABLA" B
Where a.id=b.id 
Group By Codigo

Como hago para que la tabla "A" sólo tenga los valores >= 0 y la "B" los < 0

Salu2 y Gracias

fjcg02 18-04-2005 12:54:21

Dependiendo de la BBDD que utilices, se puede hacer lo siguiente:

SQL Server:
Código:

Select Codigo,
        SUM(case Monto when >=0 then Monto else 0 ) as Debe,
        SUM(case Monto when < 0 then Monto else 0 ) as Haber
FROM "TABLA"
Group by Codigo

Access:

Código:

Select Codigo,
        SUM(iif (Monto >=0; Monto;0 )) as Debe,
        SUM(iif( Monto < 0; Monto; 0 )) as Haber
FROM "TABLA"
Group by Codigo


Y para otros sistemas de BBDD será parecido; te remito a la ayuda del que utilices.

De todas maneras no he comprobado el código, por si lo utilizas.

Espero que te ayude.

Un saludo

sitrico 19-04-2005 00:06:03

Gracias por responder

Por ahora estoy usando el BDE (para algunas pruebas y definición de las tablas) pero en la aplicación probablemente use firebird. (es posible que se instale con otro BBDD)

Creo que por razones de rendimiento y compatibilidad voy a usar 2 campos para el monto (debe y haber) aunque no me he decidido todavía.


La franja horaria es GMT +2. Ahora son las 17:56:35.

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