Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta ¿en blanco? (https://www.clubdelphi.com/foros/showthread.php?t=52872)

salvica 02-02-2008 16:27:55

Consulta ¿en blanco?
 
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 :mad:

salvica 02-02-2008 17:39:42

Tema cerrado (por ahora)
 
Hola :mad:
Me he dado cuenta que la tabla de gastos esta vacia por lo que no puedo hacer un INNER JOIN, sino que debo hacer un LEFT JOIN en su lugar.

Saludos
salvica


La franja horaria es GMT +2. Ahora son las 06:59:53.

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