MySQL - Vincular tablas sin repetir registros

   
Vista:
Imágen de perfil de Jesus Alberto

Vincular tablas sin repetir registros

Publicado por Jesus Alberto (4 intervenciones) el 03/07/2013 20:52:38
Hola. Tengo una tabla saldos con estos registros:

Campos:
Id_saldos, Fecha_saldo, Saldo_final, No_divisa.

Tengo estos registros respectivamente en la tabla saldos.
1, 2013-06-25, 500, 3
2, 2013-06-25, 200, 1
3, 2013-06-26, 100, 2
4, 2013-06-27, 250, 1
5, 2013-06-27, 450, 3
6, 2013-06-28, 350, 1
7, 2013-07-01. 300. 3

Y en la tabla de divisas tengo:
Campos:
No_divisa, Nombre_divisa.

Tengo estos registros respectivamente en la tabla divisas.
1, Dolar
2, Euro
3, Peso

Lo que quiero hacer con la consulta es que me muestre el Id_saldos, la fecha, el Saldo_final y el nombre de la divisa (Nombre_divisa en lugar de No_divisa) de la tabla saldos que corresponda a su divisa que tenga la fecha más reciente.

Por ejemplo, en este caso me tendría que soltar un resultado así:

Campos:
Fecha_saldo, Saldo_final, Nombre_divisa

Y estos registros respectivamente.
7, 2013-07-01, 300, Peso
6, 2013-06-28, 350, Dolar
3, 2013-06-26, 100, Euro

Espero haberme dado a entender, me urge. Muchas gracias!!
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

Vincular tablas sin repetir registros

Publicado por xve (898 intervenciones) el 03/07/2013 22:07:07
Hola Jesus, por lo que entiendo es una consulta vinculante con un order by, no?

Haber si te sirve:
1
2
3
SELECT s.Id_saldos,Fecha_saldo,s.Saldo_final,d.Nombre_divisa
FROM saldos s LEFT JOIN divisas d ON s.No_divisa=d.No_divisa
ORDER BY Fecha_saldo DESC

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
Imágen de perfil de Jesus Alberto

Vincular tablas sin repetir registros

Publicado por Jesus Alberto (4 intervenciones) el 03/07/2013 22:30:30
Primeramente gracias por responder. Tu consulta me lanza también las divisas repetidas.
Ya lo solucioné, aquí la respuesta:

1
2
3
4
5
6
7
8
9
SELECT T1. *
FROM Saldos AS T1
INNER JOIN (
 
SELECT Id_s, MAX( Fecha_saldo ) AS Max_Fecha
FROM saldos
GROUP BY No_divisa
) AS T2 ON T1.Id_saldos = T2.Id_saldos
AND T1.Fecha_saldo = T2.Max_Fecha



Gracias!
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