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 |
|
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 :mad::mad: 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 |
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? |
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)
|
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 :D:D:D 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 |
La franja horaria es GMT +2. Ahora son las 06:49:27. |
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