ORDER BY en una vista de Sql Server 2008

Tenemos una vista en nuestra base de datos que tiene un ORDEN POR. Ahora, me doy cuenta de que las vistas generalmente no ordenan, porque diferentes personas pueden usarlo para diferentes cosas, y quieren que se ordenen de manera diferente. Sin embargo, esta vista se utiliza para unaMUY ESPECIFICO Caso de uso que exige un cierto orden. (Es la clasificación del equipo para una liga de fútbol.)

La base de datos es Sql Server 2008 Express, v.10.0.1763.0 en una caja de Windows Server 2003 R2.

La vista se define como tal:

CREATE VIEW season.CurrentStandingsOrdered
AS
    SELECT TOP 100 PERCENT *, season.GetRanking(TEAMID) RANKING   
    FROM season.CurrentStandings 
    ORDER BY 
        GENDER, TEAMYEAR, CODE, POINTS DESC, 
        FORFEITS, GOALS_AGAINST, GOALS_FOR DESC, 
        DIFFERENTIAL, RANKING

Vuelve:

GENDER, TEAMYEAR, CODE, TEAMID, CLUB, NAME,  
WINS, LOSSES, TIES, GOALS_FOR, GOALS_AGAINST,  
DIFFERENTIAL, POINTS, FORFEITS, RANKING

Ahora, cuando corro unSELECCIONAR contra la vista, ordena los resultados porGÉNERO, TEAMYEAR, CÓDIGO, TEAMID. Tenga en cuenta que está ordenando porEquipo en lugar dePUNTOS como especifica la cláusula orden por.

Sin embargo, si copio la declaración SQL y la ejecuto exactamente como está en una nueva ventana de consulta, ordena correctamente como lo especifica elORDEN POR cláusula.

Respuestas a la pregunta(7)

Su respuesta a la pregunta