if select top 12 * from [user] where 1=1  and freetime like '%7PM%'and loginName in(select loginName from record where 1=1  ) and ID not in (select top 0 ID from [user] where 1=1  and freetime like '%7PM%'and loginName in(select loginName from record where 1=1   order by time desc) order by time desccom.microsoft.sqlserver.jdbc.SQLServerException: 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

解决方案 »

  1.   

    if --这怎么有个if???select top 12 * from [user] 
    where 1=1 and freetime like '%7PM%'
    and loginName in(select loginName from record where 1=1 ) --这下面这个条码不是没用的吗?因为是一定成立的啊
    and ID not in (select top 0 ID from [user] 
    where 1=1 and freetime like '%7PM%' 
    and loginName in (select loginName from record where 1=1 order by time desc) 
    order by time desc) --这半括号是我加的,原本应该有吧?
      

  2.   

    (select loginName from record where 1=1 order by time desc)去掉 order by time desc 
    或者
    (select top 1000 loginName from record where 1=1 order by time desc)数据1000可以自己改。