有这样一个需求,首先按是否置顶分组,然后如果是置顶的 按OrderValue排序再按CreateTime排序
如果不是置顶的,则按CreateTime排序,返回集合
这样的查询如何做?
求帮助

解决方案 »

  1.   

    也就是一个字段 bit型的 3个字段来的
    IsTop[Bit],OrderValue[int],CreateTime[DateTime]
    3个类型
      

  2.   

    数据
    Title   IsTop   OrderValue CreateTime
     1        True      1          2011-04-14
     2        True      3          2011-04-13
     3        True      2          2011-04-15
     4        False     5          2011-04-15
     5        False     4          2011-04-12实现查出来得结果是:
     1        True      1          2011-04-14
     3        True      2          2011-04-15
     2        True      3          2011-04-13
     4        False     5          2011-04-15
     5        False     4          2011-04-12
      

  3.   


    select * from tab where IsTop=1 order by OrderValue,CreateTime
    union all
    select * from tab where IsTop=0 order by CreateTime
     
      

  4.   

    select top 100 percent * from tab where IsTop=1 order by OrderValue,CreateTime
    union all
    select * from tab where IsTop=0 order by CreateTime
      

  5.   

    为什么我写的 说union 附近报错