Hola a todos, tengo un problema con una consulta, se que esta mal realizada porque no obtengo los resultados requeridos.
El escenario es: tengo 2 tablas, una que almacena bases, y otra los saldos de cada dia, ahora resulta que deseo realizar una consulta que me devuelva el ultimo saldo de cada base.
| bases
+--------
| id_base
| nombre_base
| historial_saldos
+--------
| id_historial_base
| id_base
| saldo_actual
| fecha
Para obtener el ultimo saldo realizo el siguiente select:
SELECT id_base, saldo_actual
FROM historial_saldos
WHERE id_base = 1
ORDER BY fecha DESC LIMIT 1
Sin problemas me devuelve el saldo inicial de la base con id 1
Pero ahora lo requiero para todas las bases en un select
SELECT
s.saldo_actual,
b.nombre_base
FROM
bases b
LEFT JOIN(
SELECT id_base, saldo_actual
FROM historial_saldos
ORDER BY fecha DESC LIMIT 1
) s ON s.id_base = b.id_base
En teoría debería devolverme el ultimo saldo, pero por lo visto al incluir un LIMIT 1 en la subconsulta, mysql me devuelve un solo registro para toda la consulta y no 1 para cada registro hallado en la tabla bases.
Cual seria la consulta adecuada?