sql查询排序问题,字段值等于0降序,不能与0升序,怎么写?

rainmusic 2012-07-28 09:27:59
各位大侠 这条sql语句 能不能用 iff 或者 case when 改写?access数据库

sql="Select * From FoodClass Where ClassIdx=0 Order By FoodClassSort,ClassID Desc Union All Select * From FoodClass Where ClassIdx<>0 Order By FoodClassSort,ClassID Asc"

ClassIdx=0 降序 ClassIdx<>0 升序
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
haitao 2012-07-29
  • 打赏
  • 举报
回复
你的需求没讲清楚,是涉及1个还是2个字段?
order by case when f1=0 then 1 else 0 end,f2 // f1==0的,排最后

order by case when f1=0 then -f2 else f2 end // f1==0的,f2降序,否则f2升序
發糞塗牆 2012-07-28
  • 打赏
  • 举报
回复
给你一个思路,在order by 中使用case when 来判断。然后通过拼接字符串来实现是asc还是desc
具体可以看我的文章:http://blog.csdn.net/dba_huangzj/article/details/7684520

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧