CREATE OR REPLACE VIEW view_ahorro AS
SELECT a.idahorro, a.idsocio, a.nombre, a.idfinca, a.estado, ifnull(tum.descripcion, 'Sin movimientos') ultimo_movimiento, ifnull(um.monto, 0) monto_ultimo_movimiento, um.registrado_en fecha_ultimo_movimiento, ifnull(um.saldo_nuevo, 0) saldo_actual, 
	SUM(CASE WHEN tm.genera_interes = 'SI' THEN ifnull(m.monto,0) ELSE 0 END) total_capital,
	SUM(CASE WHEN m.idtipo_movimiento_ahorro = 2 THEN ifnull(m.monto,0) ELSE 0 END) total_ordinario
FROM
(
	SELECT a.idahorro,
	s.idsocio,
	concat(primer_nombre, ' ', primer_apellido) nombre,
	a.estado,
	idfinca,
	(
		SELECT max(idahorro_movimiento)		
		FROM ahorro_movimiento m		
		WHERE m.idahorro = a.idahorro
	)
	idultimo_movimiento	
	FROM marinala_operacion.ahorro a	
	INNER JOIN marinala_operacion.socio s ON a.idsocio = s.idsocio
)
a
LEFT JOIN ahorro_movimiento um ON a.idultimo_movimiento = um.idahorro_movimiento
LEFT JOIN tipo_movimiento_ahorro tum ON um.idtipo_movimiento_ahorro = tum.idtipo_movimiento_ahorro 
LEFT JOIN ahorro_movimiento m ON a.idahorro = m.idahorro
LEFT JOIN tipo_movimiento_ahorro tm ON m.idtipo_movimiento_ahorro = m.idtipo_movimiento_ahorro
GROUP BY a.idahorro, a.idsocio, a.nombre, a.idfinca, a.estado, tum.descripcion, um.monto, um.registrado_en, um.saldo_nuevo