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

按查询条件排序,可能吗?
表table1
char字段field1,field2
数据如下
field1,field2
A0001   ,   DDDD
S2522   ,   SSSS
EEEE     ,   SSSF
.........

查询sql如下(该SQL条件是前端字符串SQL):
select   *   from   table1   where   field1= 'S2522 '   or   field1= 'A00001 '   or   field1= 'EEEE '
现在的需求是要查询结集按查询条件先后排序,希望得到结果如下:
field1,field2
S2522   ,   SSSS
A0001   ,   DDDD
EEEE     ,   SSSF

查询条件始终是field1,
不知道这个需求能否做到,请大侠赐教.

   


------解决方案--------------------
select *
from table1
where field1= 'S2522 ' or field1= 'A00001 ' or field1= 'EEEE '
order by
case
when field1= 'S2522 ' then 1
when field1= 'A00001 ' then 2
when field1= 'EEEE ' then 3
else 4
end

------解决方案--------------------
用CASE需要在傳入的條件是固定的情況下的,但是使用這個字符串可以在傳入的字符串不是固定的情況下使用。