Estimados un saludo cordial,
 
En un stored procedure tengo algo así por ejemplo (este es un ejemplo didáctico de lo que tengo) :  
 Código PHP:
    select top(1) valor1
from mi_tabla
where valor=3
order by fecha_valor desc
 
 
union all
 
 
select valor1
from mi_tabla
where valor=3 
order by fecha_valor desc 
    
  
Conceptualmente en el primer Query tengo que traer el TOP(1) ordenando por "fecha valor". 
En el segundo Query traigo el mismo dato e igualmente ordenado por "fecha_valor".  
La cuestión es que tengo que sacar todo el query ordenado por "fecha_valor", pero preicisamente en el primer query tengo que usar un order by para traer el TOP(1).  
Posibles soluciones : 
- Otra forma de traer el TOP(1) en el primer query sin usar order by (la veo difícil). 
- Poder usar Order By en cada una de los query sin que SQL Server me saque error. (Espero que se pueda). 
- Dejar el primer Query en un stored procedure aparte y "llamarlo" y unirlo con el segundo query en otro Stored Procedure (Creo que se puede pero no tengo la menor idea).  
Gracias como siempre........es importante.  Saludos.