Creo que no has comprendido la idea completamente y pues solo has complicado tu código... eso de comprender la idea ya te toca a vos, dado que aqui venimos para aprender a programar y afinar nuestra lógica, mas que para encontrar quien programe por nosotros...
Realmente no es tan dificil la tarea de adaptar el código de mi sp para que funcione bajo tus condiciones... pero no te vas a ir de aqui sin ensuciarte las manos, asi que ¡a picar piedra!.
Tratá de comprender la lógica del sp, y luego bastará con sustituir un par de cosas para que funcione en tu caso.
Hasta luego.