Você tem
mas
, eu observo
CASE U.MilitaryDiscountCode WHEN DiscountCode THEN
Percentage*R.ReservationCost
ELSE R.ReservationCost END "REVISED_RESERVATION_COST"
parte está faltando em
FETCH (ou deve ser omitido no SELECT papel ). Também representa uma coluna e estraga a correspondência 1-1, o que produz esse erro.