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
Código Delphi
[-]
SELECT recibos.ID_CLAVE, recibos.ID_INQUILI, recibos.ID_PROPIED,
recibos.YEAR, recibos.MONTH, recibos.PAGADO,
recibos.FULL_NAME, recibos.FULL_DIR, recibos.LOCALIDAD, recibos.PROVINCIA,
SUM(ingresos.CANTIDAD) AS ING_CANTIDAD,
SUM(ingresos.IVA) AS ING_IVA,
SUM(ingresos.RETENCION) AS ING_RETENCION,
SUM(ingresos.TOTAL) AS ING_TOTAL,
SUM(gastos.CANTIDAD) AS GAST_CANTIDAD,
SUM(gastos.IVA) AS GAST_IVA,
SUM(gastos.RETENCION) AS GAST_RETENCION,
SUM(gastos.TOTAL) AS GAST_TOTAL
FROM (recibos LEFT JOIN ingresos ON recibos.ID_CLAVE=ingresos.ID_RECIBO) LEFT JOIN gastos ON recibos.ID_CLAVE=gastos.ID_RECIBO
WHERE recibos.ID_INQUILI = "0000001"
AND recibos.ID_PROPIED = "1000000"
GROUP BY recibos.ID_CLAVE, recibos.ID_INQUILI, recibos.ID_PROPIED,
recibos.YEAR, recibos.MONTH, recibos.PAGADO,
recibos.FULL_NAME, recibos.FULL_DIR, recibos.LOCALIDAD, recibos.PROVINCIA
¿donde tengo el problema?
Delphi-7, Zeos v6 y conexión mediante ADO
Gracias
salvica