Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 19
Delphitest Va por buen camino
Sumar un campo de una tabla relacionada con otras dos

Buenas tardes,

a ver si consigo explicar mi duda...

Trabajo con delphi XE5, ADO y Access

Tengo tres tablas: Operaciones, Fincas y Seguros

Una operación puede tener varias fincas y cada finca varios seguros.

Para relacionarlas tengo en Operaciones un campo IDOperacion, en Fincas un campo IDOperacion (por lo que puedo tener varias fincas con el mismo IDOperacion) y un IDFinca que identifica la finca, y la tabla Seguros tiene un IDFinca con animo de que una misma finca pueda tener varios seguros.

A nivel de formularios lo tengo hecho con relaciones y funciona bien.

Mi duda es que quiero crear una consulta que me sume el campo que se llama Importe de la tabla seguros para que me diga la suma los importes de los seguros de las fincas de una operación.

Si solo fuesen dos tablas sabría mas o menos hacerlo pero con las 3 no doy con ello.

No se si lo explicado bien, es pero que se entienda.

Gracias por vuestro tiempo
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 05-07-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Delphitest.

Código SQL [-]
SELECT SUM( SE.IMPORTE )
FROM SEGUROS SE
INNER JOIN FINCAS FI ON SE.IDFINCA = FI.IDFINCA
INNER JOIN OPERACIONES OP ON FI.IDOPERACION = OP.IDOPERACION
AND OP.IDOPERACION = :OPER_ID

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 05-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Un tutorial de SQL no vendrá mal
Responder Con Cita
  #4  
Antiguo 05-07-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 19
Delphitest Va por buen camino
Muchas gracias,

así da gusto, la solución y un manual de apoyo

He sufrido un poco con los paréntesis pero al final funciona perfectamente, ha tenido que quedar así:

Código SQL [-]
SELECT SUM( SE.IMPORTE ) as totalimporte
FROM (SEGUROS SE
INNER JOIN FINCAS FI ON SE.IDFINCA = FI.IDFINCA)
INNER JOIN OPERACIONES OP ON (FI.IDOPERACION = OP.IDOPERACION and OP.IDOPERACION = :OPER_ID)


Gracias por vuestra ayuda
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #5  
Antiguo 05-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Delphitest Ver Mensaje
He sufrido un poco con los paréntesis
Pues no sufras, porque no hacen falta.
En todo caso, déjalos, pero el primero está mal.

Tu código quedaría así:
Código SQL [-]
select sum(se.importe) as totalimporte
from seguros se
inner join fincas fi on (se.idfinca=fi.idfinca)
inner join operaciones op on (fi.idoperacion=op.idoperacion and op.idoperacion= :Oper_id)
Responder Con Cita
  #6  
Antiguo 05-07-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 19
Delphitest Va por buen camino
Si lo pongo como dices da un error de sintaxis.

Tanto desde delphi como desde el sql de access.

La verdad es que tiene mas sentido como lo pones pero a base de probar y colocándolo donde digo en el ejemplo sí que funciona.

Pantallazo
Imágenes Adjuntas
Tipo de Archivo: jpg Snap1.jpg (13,2 KB, 8 visitas)
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Update a una tabla que está relacionada con otra ElDioni SQL 8 23-11-2012 12:57:48
Sumar campo de una tabla daragor MySQL 2 14-09-2012 01:50:59
Columna en cxgrid no relacionada con tabla o consulta dunia_lv OOP 3 06-07-2010 19:31:16
sumar el valor de un edit a un campo de tabla josi Varios 4 12-01-2009 21:36:45
Ordenar Una tabla por un Campo de otras Tabla teletranx Conexión con bases de datos 2 18-08-2006 16:56:35


La franja horaria es GMT +2. Ahora son las 00:46:51.


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
Copyright 1996-2007 Club Delphi