日期:2014-05-18  浏览次数:20472 次

在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