当前位置: 代码迷 >> Sql Server >> 在VB中小弟我用access,下面的查询语句能正确执行,但升迁成SQL SERVER 2000后却报错。怎么在SQL SERVER 2000也能实现下列语句的效果?select * from 书店 ORDER BY 类型='物理' , 类型='化学'
  详细解决方案

在VB中小弟我用access,下面的查询语句能正确执行,但升迁成SQL SERVER 2000后却报错。怎么在SQL SERVER 2000也能实现下列语句的效果?select * from 书店 ORDER BY 类型='物理' , 类型='化学'

热度:479   发布时间:2016-04-27 19:31:40.0
在VB中我用access,下面的查询语句能正确执行,但升迁成SQL SERVER 2000后却报错。如何在SQL SERVER 2000也能实现下列语句的效果?select * from 书店 ORDER BY 类型='物理' , 类型='化学' ,
在VB中我用access,下面的查询语句能正确执行,但升迁成SQL SERVER 2000后却报错。如何在SQL SERVER 2000也能实现下列语句的效果?

select * from 书店 ORDER BY 类型='物理' , 类型='化学' , 类型='数学' 


------解决方案--------------------
楼主的意思似乎是想将类型等于物理排在最上面,化学排在其次,数学排在最后。
如果是这样
可以用这个:
SQL code
 
select * from 书店  ORDER BY  case  when 类型='物理' then 0 when 类型='化学' then 1 when 类型='数学' then 2 else 3 end

------解决方案--------------------
SQL code
select case when 类型='物理' then 0 when 类型='化学' then 1 when 类型='数学' then 2 else 3 end as myorder ,* from 书店 order by myorder
  相关解决方案