MySQL - Consultas entre dos tablas diferentes con un campo en comun

   
Vista:

Consultas entre dos tablas diferentes con un campo en comun

Publicado por Jordan jordanvicente_21@hotmail.com (3 intervenciones) el 17/10/2013 17:46:31
Hola buenos dias me gustaria saber si me podrian ayudar con un problema que tengo al momento de realizar una consulta entre diferentes tablas pero que tienen campos en comun.
tengo las siguientes tablas
Esta es la tabla contrato



Esta es la tabla contrato detalle



y esta es mi tabla dividendos



y tambien cuento con la tabla cobros que me permite cobrar los dividendos del contrato



Mi pregunta es la siguiente

Como puedo realizar una suma de la columna valor_dividendos de la tabla dividendos
y una suma de valor_cobro de la tabla cobros.Luego restar el resultado de las dos para
tener una columna que se llame resultado final y todo esto que sea agrupado por el id_contrato que
es el numero del contrato al que corresponde el dividendo y su respectivo cobro. Por favor ayudenme que soy novato en esto y estoy realizando un proyecto
desde ya agradezco su ayuda de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Consultas entre dos tablas diferentes con un campo en comun

Publicado por xve (898 intervenciones) el 18/10/2013 08:03:06
Hola Jordan, no se si te he entendido muy bien... pero puedes probar esta consulta?
1
2
3
4
5
6
7
8
9
10
11
12
13
select
    (
        select id_contrato,sum(valor_dividendos) as totalDividendos
        from dividendos
        group by id_contrato
    ) s1
LEFT JOIN
    (
        select id_contrato,sum(valor_cobro) as totalCobros
        from cobros
        group by id_contrato
    ) s2
ON s1.id_contrato=s2.id_contrato

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consultas entre dos tablas diferentes con un campo en comun

Publicado por Jordan Ordonez jordanvicente_21@hotmail.com (3 intervenciones) el 18/10/2013 16:50:39
Me sale un error en la linea 7

[SQL] select
(
select id_contrato,sum(valor_dividendos) as totalDividendos
from dividendo
group by id_contrato
) s1
LEFT JOIN
(
select id_contrato,sum(valor_cobro) as totalCobros
from cobros
group by id_contrato
) s2
ON s1.id_contrato=s2.id_contrato

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN
(
select id_contrato,sum(valor_cobro) as totalCobros
' at line 7
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consultas entre dos tablas diferentes con un campo en comun

Publicado por Kym (1 intervención) el 23/10/2013 21:09:23
select *
FROM
(
select id_contrato,sum(valor_dividendos) as totalDividendos
from dividendos
group by id_contrato
) s1
LEFT JOIN
(
select id_contrato,sum(valor_cobro) as totalCobros
from cobros
group by id_contrato
) s2
USING( id_contrato )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Consultas entre dos tablas diferentes con un campo en comun

Publicado por xve (898 intervenciones) el 23/10/2013 22:50:37
Gracias Kym, me olvide el * FROM!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consultas entre dos tablas diferentes con un campo en comun

Publicado por Jordan (3 intervenciones) el 24/10/2013 18:26:04
Muchas Gracias es bastante parecido a lo que buscaba este es el resultado de esa consulta

ahora mi pregunta es la siguiente si se dan cuenta en la tabla dividendos
se encuentra un campo llamado estado, fecha_dividendo y fecha_cobro

necesito una consulta que me permita presentar el valor vencido entre dos fechas determinadas
por ejemplo 2013-07-01 y 2013-12-31 obviamente el valor vencido tiene que ser sumado cuando el estado del dividendo sea pendiente porque si el estado es pagado no tiene valor vencido.
Y tambien me gustaria poder sacar la fecha del ultimo pago(fecha_cobro) es decir la ultima fecha que tiene el estado Pagado y la fecha mas antigua que se encuentra pendiente(fecha_dividendo). Todo esto en las fechas determinadas y agrupados por contrato como en la consulta anterior.

Si me pudieran ayudar con esa consulta les estaría muy agradecidos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar