郵便番号データベースで、都市名と一致する個別の都市/州/国の場所を見つける必要があるクエリを作成しています。列は次のとおりです。
Country, PostalCode, City, State, StateAbbr, County, CountryCode, Latitude, Longitude
結果セットには、これらすべての列を含める必要があります。
クエリ文字列「Brooklyn」を例として使用すると、少なくとも次のように各行にランクを割り当てることができます。
select b.*,
(select count(*) from PostalCodes b2
where b.City = b2.City AND b.[State] = b2.[State] AND b.Country = b2.Country) as Rank
from PostalCodes b
where b.City LIKE 'Brooklyn%'
結果セットには66行があり、そのうち14行はデータベースに単一のエントリがある場所であるため、ランクは1です。残りの52行は、データベースに52エントリがあり、ランクが割り当てられているニューヨーク州ブルックリンのものです。 52。
ランクに基づいて個別の行を取得し、DB内のすべての列を取得するにはどうすればよいですか?どの郵便番号が返されるかは関係ありません...市/州/国ごとに1つのエントリが必要です。
SQLServer2008を使用しています。