0

私は国のテーブルを持っています....

CountryID     CountryCode    CountryName
1              AF             Afghanistan
2              AX             ALAND ISLANDS
3              AL             Albania
4              DZ             Algeria etc.

これを使用して、Web ページのドロップダウン メニューに入力します。私が望むのは、以下の 4 つの国を最初に表示し、次にこれら 4 つの国の下にリスト全体を 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 つの国が表示されますが、その下に別の国を表示することはできません。

4

1 に答える 1

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];

デモで SQL Fiddle を参照してください

于 2013-10-11T19:00:18.773 に答える