Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

[access查询]利用IIF、Switch函数创建自定义排序次序

时 间:2012-05-04 10:59:56
作 者:网行者   ID:12122  城市:江门
摘 要:利用IIF、Switch函数创建自定义排序次序
正 文:

点击下载此附件

       有时,您可能需要进行排序的 Microsoft Access 基于自定义排序次序 (也就是不按升序或降序,而是由用户指定的排序次序)。

     附件示例“雇员”表中,如按“职务”字段升序排序,一般默认为按字母顺序:副总裁(销售)、内部销售协调员、销售代表、销售经理。但如果您想按职务高低来排序,就要用到其它方法来自定义排序次序了(见附件)。

      方法1Switch函数排序SQL查询语句如下:

      Select 雇员.雇员ID, 雇员.姓氏, 雇员.名字, 雇员.职务
      FROM 雇员
    ORDER BY Switch([职务]="副总裁(销售)","a",[职务]="销售经理","b",[职务]="内部销售协调员","c",[职务]="销售代表","d");

      方法2IIF函数排序SQL查询语句如下:

Select 雇员.雇员ID, 雇员.姓氏, 雇员.名字, 雇员.职务
FROM
雇员
orDER BY IIf([
职务]="副总裁(销售)",1,IIf([职务]="销售经理",2,IIf([职务]="内部销售协调员",3,IIf([职务]="销售代表",4,5))));

“职务”是包含排序值的字段的名称。引号引起来的值是存储在字段中的各个值。后面的数值则是分配给它的序号。前面的表达式将序号 1 4 分配给四个不同的职务,并将序号 5 分配给所有其他人。执行排序时,将为此表达式中未提到的职务分配相同的序号 (5)

 方法3、对于大量的唯一字段值自定义排序

附件中先创建“职务”表,按职务高低顺序录入,再将“雇员”表与之建立关系后,按“职务ID”排序即可。

 


 



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助