SQL 语句是这样的:SELECT * FROM TABLE_A WHERE ID IN (-1,200795,200032,200037,200048,200063)
怎样实现这样的排序:需要将查出来的记录按照200795,200032,200037,200048,200063进行排序,但是实际上的结果是按照TABLE_A中的ID循序排序的
请问上面的问题应该怎么解决,谢谢。

解决方案 »

  1.   

    SELECT * FROM TABLE_A WHERE ID IN (-1,200795,200032,200037,200048,200063) order by 字段
      

  2.   

    order by 只能按照一个字段的升序或者降序排列吧,我是需要按照 IN (-1,200795,200032,200037,200048,200063),IN()里面的ID进行排序,也就是需要按照200795,200032,200037,200048,200063排序
      

  3.   

    数字没有规律,但是我需要按照这样的一个ID顺序进行排序SELECT * FROM TABLE_A WHERE ID IN (-1,200795,200032,200037,200048,200063) 没有好的办法吗?
      

  4.   

    取出来把DefaultView重新排一个吧。
      

  5.   

    Select * From TABLE_A where [id] IN (-1,200795,200032,200037,200048,200063) ORDER BY 
    CASE WHEN [id]=-1 THEN 1 
    WHEN [id]=200795 THEN 2
    WHEN [id]=200032 THEN 3
    WHEN [id]=200037 THEN 4
    WHEN [id]=200048 THEN 5
    WHEN [id]=200063 THEN 6
    END