He probado la clausula CASE - WHEN , pero aparentemente funciona en el caso de que un campo tenga varios valores, en el caso del ejemplo seria si la tabla tuviera un campo STAR el cual tomara valores de 1 a 5, en el caso expuesto, no funciona ya que tendria que hacer un CASE para cada campo STAR_X, lo que lo convierte en un IF para validar si el campo tiene un valor 0 ó 1.
Asi que vuelvo a la opcion del procedimiento almacenado. Gracias por su tiempo