Jon*_*ner 16 sql t-sql sql-server sql-server-2008
嗨,如果对此的答案是在其他地方我很抱歉.我环顾四周,看不出简单的解决方案.我有一个想要运行的查询.我不关心联合集的顺序,只是内部查询返回正确的数据,即"最大区域".
(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
Run Code Online (Sandbox Code Playgroud)
但是T-sql不会让我对子查询有ORDER BY,只对整个联盟...帮助赞赏!我真的不想创建临时表或类似的东西.
Pau*_*wat 29
试试这个
SELECT *
FROM (SELECT TOP 5 *
FROM [geo].[Areas]
WHERE CountryID = @CountryID
AND (TypeID = 'City')
ORDER BY [ShapeArea] DESC) as BiggestCities
UNION ALL
SELECT *
FROM (SELECT TOP 5 *
FROM [geo].[Areas]
WHERE CountryID = @CountryID
AND (TypeID = 'National park')
ORDER BY [ShapeArea] DESC) as BiggestParks
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7132 次 |
最近记录: |