VB+AceessSELECT *
FROM Employ 
WHERE employid in (2,1,7,5)查询条件为(2,1,7,5)查询后有四条语句,排序为 1,2,5,7我的需求是严格按照查询条件进行排序,即 2,1,7,5请问高手该怎么做?

解决方案 »

  1.   

    你可以一个条件一个条件的帅选,然后把结果按照你的需求连接(union)就可以了
      

  2.   

    一个条件一个条件的帅选效率太低,所以不能这样做。to : cuizm(射天狼) 
    加一个隐藏的排序列,自己手工设置里面的值,以达到排序的目的!!
    能说得具体一点吗,我不太明白。
      

  3.   

    单独加一列LNO(int),在保存数据时,从上倒下为1,2...
    并以此排序,我们时常这样做
      

  4.   

    加一个隐藏的排序列,这个列为自动排序。在用SQL的时候,
    order by 列就可以了吧。
      

  5.   

    SELECT *
    FROM Employ 
    WHERE employid in (2,1,7,5)
    order by charindex(cast(employeeid as varchar(10)),'2,1,7,5')--或者:order by patindex('%'+cast(employeeid as varchar(10)) +'%','2,1,7,5')
      

  6.   

    改一下:
    SELECT *
    FROM Employ 
    WHERE employid in (2,1,7,5)
    order by charindex(cast(employeeid as varchar(10)) + ',','2,1,7,5,')--或者:order by patindex('%'+cast(employeeid as varchar(10)) +',%','2,1,7,5,')
      

  7.   

    to yoki(小马哥)
    我试了,不行嘛,是不是不适合access呀
      

  8.   

    哦,access不支持cast与charindex函数,我想想看有什么函数替代他们谁有access的t_sql语法帮助?给我来一份好么?[email protected]
      

  9.   

    有了!
    access的:
    SELECT *
    FROM Employ 
    WHERE employeeid in (2,1,7,5)
    order by instr('2,1,7,5,',format(employeeid)  + ',')