Tsql объединение подзапросов, каждый из которых требует предложения ORDER BY

Привет, прошу прощения, если ответ на этот вопрос находится где-то еще. Я огляделся и не нашел простого решения. У меня есть запрос, который я хотел бы выполнить. Меня не волнует порядок набора объединений, только то, что внутренние запросы возвращают правильные данные, которые являются «наибольшими областями».

(SELECT TOP 5 * FROM [geo].[Areas] WHERE CountryID = @CountryID AND (TypeID = 'City')
ORDER BY [ShapeArea] DESC) as BiggestCities
    UNION ALL
(SELECT TOP 5 * FROM [geo].[Areas] WHERE CountryID =  @CountryID AND (TypeID = 'National park')
ORDER BY [ShapeArea] DESC) as BiggestParks

Но T-sql не позволяет мне иметь ORDER BY для подзапросов , только по всему Союзу ... Помощь приветствуется! Я бы предпочел не создавать временные таблицы или что-то в этом роде.

16
задан Jonathon Kresner 1 March 2011 в 20:13
поделиться