Hola de nuevo
Intento hacer una consulta de una tabla a la que se le deben añadir los totales de otras dos.
Las estructuras son las siguientes:
Código:
Tabla RECIBOS
=============
ID_CLAVE -------> identificador del recibo (único)
... -----> otros datos del recibo
Tabla INGRESOS
==============
ID_INGRESO -----> identificador del registro
ID_RECIBO ------> recibo al que pertenece
CONCEPTO -------> descripción del ingreso (no lo utilizo)
CANTIDAD -------> real
IVA ------------> integer
RETENCION ------> integer
TOTAL ----------> real
Tabla GASTOS
============
(la misma estructura que INGRESOS)
La consulta debe sacar los datos del recibo y los totales de los ingresos y gastos para ese recibo determinado
Código Delphi
[-]
SELECT recibos.ID_CLAVE, recibos.ID_INQUILI,
recibos.FULL_NAME, recibos.FULL_DIR, recibos.LOCALIDAD, recibos.PROVINCIA,
SUM(ingresos.CANTIDAD) AS ING_CANTIDAD,
SUM(ingresos.CANTIDAD*ingresos.IVA/100) AS ING_IVA,
SUM(ingresos.CANTIDAD*ingresos.RETENCION/100) AS ING_RETENCION,
SUM(ingresos.TOTAL-ingresos.CANTIDAD) AS ING_TOTAL,
SUM(gastos.CANTIDAD) AS GAST_CANTIDAD,
SUM(gastos.CANTIDAD*gastos.IVA/100) AS GAST_IVA,
SUM(gastos.CANTIDAD*gastos.RETENCION/100) AS GAST_RETENCION,
SUM(gastos.TOTAL-gastos.CANTIDAD) AS GAST_TOTAL
FROM (recibos INNER JOIN ingresos ON recibos.ID_CLAVE = ingresos.ID_RECIBO) INNER JOIN gastos ON recibos.ID_CLAVE = gastos.ID_RECIBO
WHERE recibos.ID_CLAVE="0000000001"
Me daba un erro que decía:
Ha intentado ejecutar una consulta que no incluye la expresión especificada ID_CLAVE como parte de una función de agregado
lo solucioné añadiendo un
GROUP BY a la consulta
Código Delphi
[-]
GROUP BY recibos.ID_CLAVE, recibos.ID_INQUILI, recibos.FULL_NAME, recibos.FULL_DIR, recibos.LOCALIDAD, recibos.PROVINCIA
Ahora el problema es que no me muestra datos