Hola
maialenlopez, está bien, pero aqui el detalle es que ocupas demasiado con la query del SQL, lo recomandable sería que tengas eso en una procedure, y a este procedure pasarle lo parametros nada mas. de manera que es más óptimo para tu aplicación. Saludos!

.