关于排序?(100分)

  • 主题发起人 主题发起人 16可爱多
  • 开始时间 开始时间
1

16可爱多

Unregistered / Unconfirmed
GUEST, unregistred user!
在数据库中有两个相关字段,内容如下:
方位 地名
东 北京
南 北京
西 北京
北 北京
东 天津
南 天津
西 天津
北 天津
以此类推,一个地名对应四个方向,但是在从excel导入数据库时,数据是没有顺序的,现在地名想按照北京,天津,上海顺序排列,而其中每个地名相同的数据又想按照东南西北的顺序排列,不知如何实现按照这个规则对数据库重新排序?请大家帮忙.
 
select * from 表
order by charindex(地名,'北京,天津,上海'), charindex(方位,'东南西北')
 
可以用CASE语句对根据方位产生一个INDEX,如
select 方位,地名,(case 方位 when 东 then 1 when 南 then 2 when 西 then 3 when 北 then 4 end) as index order by 地名,index

如果地名个数是未知的,不能用CASE.只能用ORDER BY 地名,这样是根据地名拼音排序的.
如果只有这三个地名,也可以用CASE
 
后退
顶部