我有一张国家表......
CountryID CountryCode CountryName
1 AF Afghanistan
2 AX ALAND ISLANDS
3 AL Albania
4 DZ Algeria etc.
我将使用它来填充网页上的下拉菜单。我想要的是能够让下面的四个国家首先出现,然后在ASC顺序中将整个列表显示在这四个国家之下。
CountryID CountryCode CountryName
236 US United States
40 CA Canada
76 FR France
235 UK United Kingdom
我尝试了各种方法,但尚未得到它。
SELECT *
From [dbo].[tblCountries]
WHERE CountryID IN (236,40,76,235)
ORDER BY CountryName asc
这给了我想要的4个国家,但不允许我在他们下面显示另一个国家。
答案 0 :(得分:0)
您不需要UNION来获取结果,您可以在ORDER BY中使用CASE表达式:
select [CountryID], [CountryCode], [CountryName]
from tblCountries
order by
case [CountryID]
when 236 then 1
when 40 then 2
when 76 then 3
when 235 then 4
else 5
end, [CountryName];