FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Consulta rebelde
Hola
Tengo tres tablas - recibos: con los datos del inquilino (es la tabla base, y tiene un registro por inquilino y mes) - ingresos: con los pagos realizados cada mes (puede no haberlos, o haber varios pagos por distintos conceptos) - gastos: con los gastos de cada mes (igual que ingresos) ingresos y gastos contienen el identificador del recibo al que corresponden. Necesito hacer una consulta que devuelva los datos de cada recibo con los totales de ingresos y gastos, pero no me sale ya que me duplica datos de la tabla de gastos ¿donde tengo el problema? Delphi-7, Zeos v6 y conexión mediante ADO Gracias salvica Última edición por salvica fecha: 16-07-2008 a las 11:54:30. Razón: Dejo solo la consulta |
#2
|
||||
|
||||
__________________
Conoce mi blog http://www.edgartec.com |
#3
|
||||
|
||||
Hola, poliburro, gracias por responder
Tu consulta no he podido ejecutarla, me dice que la expresión de combinación no esta admitida, serán cosas del ADO Realmente, el problema es el siguiente, si de la clausula FROM elimino una de las relaciones enlazadas con LEFT JOIN, entonces suma bien, solo presenta el problema cuando se utilizan todas las tablas. Salvica |
#4
|
||||
|
||||
No, no es problema de ADO.
La consulta que te he posteado es la que debes utilizar, pues evita precisamente que se te dupliquen las filas. Que motor utilizas?
__________________
Conoce mi blog http://www.edgartec.com |
#5
|
||||
|
||||
Las tablas están en formato DBF (es una aplicación vieja y necesitan sacar algunos datos), para conectarme utilizo Microsoft.Jet.OLEDB.4.0 con Zeos (ZConnection y ZQuery)
|
#6
|
||||
|
||||
Cita:
Según explican aquí, un "Left Join" NO PERMITE anidar un "Inner Join" en su interior, así que con tu consulta y las explicaciones de la página anterior lo he resuelto asi (para los que tengan el mismo problema): - 1º Seleccionamos los TOTALES de ingresos de cada recibo (deben salir todos, estén o no a cero o nulo)
- 2º Seleccionamos los TOTALES de gastos de cada recibo (igual que en el caso anterior)
- 3º Como tenemos dos resultados con el mismo número de filas (los recibos), ahora podemos unirlas Caso cerrado Gracias a tod@s Salvica |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Yo, soy rebelde porque el mundo me ha hecho así | dec | La Taberna | 21 | 17-04-2008 12:17:33 |
StringGrid Rebelde | EUFORIA | C++ Builder | 5 | 25-02-2008 07:44:09 |
Realizar una consulta sobre los registros que devuelve otra consulta | Borjaserrano | Firebird e Interbase | 12 | 01-10-2007 23:19:44 |
Consulta dentro de otra consulta | judit25 | Conexión con bases de datos | 1 | 25-06-2007 15:52:15 |
Componente rebelde | ChangoPro | OOP | 7 | 23-10-2003 05:52:54 |
|