Hola fzeromusic:
Desde el post pasado que pusiste te comenté que en realidad no nos haz explicado qué es lo que quieres hacer...
http://www.forosdelweb.com/f86/probl...-join-1009605/
Pero no te tomaste el tiempo de explicar a detalle qué es lo que pretendes obtener... en tu post decías que con esta consulta tenías prácticamente resuelto tu problema, por eso ya no hice ningún comentario...
en realidad veo varios problemas aquí... En primera el uso de una sentencia IN y una subconsulta... de entrada la función IN es muy tardada, y en tu caso no tendría razón de ser, pues a final de cuenta la subconsulta REGRESA SOLO UN REGISTRO, por lo tanto podrías cambiarla por una condición (=), sin problemas.
Podrías intentar hacer esto (no estoy seguro que funcione y que obtenga realmente lo que quieres):
Código MySQL:
Ver original plan.numero_prestamo,
plan.numero_cuota,
plan.numero_cuota
+1 AS proxima_cuota
, plan.periodo,
plan.codigo_tipo_saldo
pr_saldos_plan_pago_mes plan
(SELECT numero_prestamo
, MAX(numero_cuota
) ultima_cuota
FROM pr_saldos_plan_pago_mes
ON plan.numero_prestamo
= T.numero_prestamo
AND plan.numero_cuota
= t.ultima_cuota
Podrías agregar la condición
Código:
WHERE
numero_prestamo = 1
para que te regrese sólo los valores de ese préstamo. Finalmente, checa que tengas creados los índices suficientes en tu tabla para hacer más rápida la consulta.
Saludos
Leo.