FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Suma duplicada...
Hola a todos,
Resulta que estoy realizando una consulta y utilizo tres tablas: - FACTURA - PAGOS_DEL_MES - PAGOS_DEL_DIA Esto lo realizo con esta consulta: En PAGOS_DEL_MES solo hay un registro con valor de $146.300 y en PAGOS_DEL DIA hay dos registros uno con valor de $62.700 y otro con valor de $3.800.Al realizar la consulta duplica el valor de PAGOS_DEL_MES y muestra $292.600 en cambio lo correspondiente a PAGOS_DEL_DIA da la suma.Que hago para que no duplique los registros, es decir que si hay dos o mas registros en una tabla y en la otra haya menos registros que la otra no se sumen en mas de una vez los registros de la tabla que contiene menos. Gracias. |
#2
|
||||
|
||||
Es normal que se duplique la suma porque has ¡cuadriplicado! el mensaje
|
#3
|
|||
|
|||
Que pena con uds. lo que pasa es que tengo instalada en la oficina ese molesto programa IProtecYou, y me causa errores.
|
#4
|
||||
|
||||
Creo que la solución será hacer dos select:
De todos modos, no se si tiene sentido, pues parece que la suma que hay en PAGOS_DEL_DIA es igual a PAGOS_DEL_MES. |
#5
|
||||
|
||||
Seguramente, al tener 2 registros en una de las tablas te devuelve dos registros también, por eso te suma 2 veces el que tiene un registro, prueba a hacer 2 selects por separado.
|
#6
|
|||
|
|||
Listo, realice las dos consultas por separado y utilice union, pero como estoy realizando un informe de SALDOS, como hago para que sume los dos registros de esta union?, o sera mejor realizar un procedimiento?
|
#7
|
||||
|
||||
¿Que base de datos estas utilizando? Lo digo porque en Oracle se puede hacer esto:
Código:
Select sum(Suma) from((select sum(M.VR_RC) Sumafrom FACTURA Fjoin PAGOS_DEL_MES M on M.FACTURA = F.NUMERO_FACTURAwhere F.NUMERO_FACTURA = 29680)union(select sum(D.VR_RC) Sumafrom FACTURA Fjoin PAGOS_DEL_DIA D on D.FACTURA = F.NUMERO_FACTURAwhere F.NUMERO_FACTURA = 29680)) asi que no se si me he equivocado en algo Un saludo |
#8
|
||||
|
||||
¡Leches!.. .Ya me he equivocado con las etiquetas.
Mis disculpas |
#9
|
|||
|
|||
Tienes razon me falto decir que bases de datos, es FIREBIRD 2.1
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Key Violation no esta duplicada | chinosoft | C++ Builder | 7 | 25-03-2008 20:29:48 |
Eliminar info duplicada/tripicada en algunos campos | marceloalegre | SQL | 5 | 18-07-2006 16:22:48 |
|