ORDER BY в представлении Sql Server 2008

у нас есть представление в нашей базе данных, в котором есть ORDER BY. Теперь я понимаю, что взгляды вообще незаказать, потому что разные люди могут использовать его для разных вещей, и хотят, чтобы это было по-разному. Это представление, однако, используется дляОЧЕНЬ КОНКРЕТНО сценарий использования, который требует определенного порядка. (Это командный зачет футбольной лиги.)

База данных Sql Server 2008 Express, v.10.0.1763.0 в Windows Server 2003 R2.

Представление определяется так:

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

Возвращает:

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

Теперь, когда я бегуВЫБРАТЬ напротив, он упорядочивает результаты поГЕНДЕР, КОМАНДА, КОД, КОМАНДА, Обратите внимание, что это заказTeamID вместоТОЧКИ как указано в порядке заказа.

Тем не менее, если я скопирую инструкцию SQL и выполню ее точно так же, как в новом окне запроса, он упорядочится правильно, как указано вСОРТИРОВАТЬ ПО пункт.

Ответы на вопрос(7)

Ваш ответ на вопрос