按查询条件排序,可能吗?
表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需要在傳入的條件是固定的情況下的,但是使用這個字符串可以在傳入的字符串不是固定的情況下使用。