Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/04/2012, 02:04
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Sub consulta en LEFT JOIN con LIMIT

Código MySQL:
Ver original
  1. SELECT id_base, max(fecha) as MFecha
  2. FROM historial_saldos
  3. GROUP BY id_base

Esto nos da la fecha maxima delos saldo de cada base.

Código MySQL:
Ver original
  1. SELECT hs.id_base, hs.saldo_actual
  2. FROM historial_saldos as  hs INNER JOIN
  3. (SELECT id_base, max(fecha) as MFecha
  4. FROM historial_saldos
  5. GROUP BY id_base) as Sbc
  6. ON hs.id_base=Sbc.id_base AND hs.fecha=Sbc.MFecha

Esto nos da el saldo que corresponde a la ultima fecha para cada base que tenga saldo

Código MySQL:
Ver original
  1. SELECT b.nombre_base, s.saldo_actual
  2.   FROM bases as b
  3.    LEFT JOIN (SELECT hs.id_base,
  4.                           hs.saldo_actual
  5.                         FROM historial_saldos as  hs
  6.                                   INNER JOIN
  7.                             (SELECT id_base,
  8.                                     max(fecha) as MFecha
  9.                                 FROM historial_saldos
  10.                               GROUP BY id_base) as Sbc
  11.                           ON hs.id_base=Sbc.id_base
  12.                                 AND hs.fecha=Sbc.MFecha) as s
  13. ON s.id_base = b.id_base

Esto nos da la lista completa de bases con saldo o sin el....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.