如下Sql语句
select top 15 *   from view_Claim_Main 
where Subject like N'%A83F622AAAAAA0340%' or SN like N'%A83F622AAAAAA0340%' or(Guest_Type='1' and Guest_ID in(select Dealer_ID from dbo.Dealer where Contact like N'%A83F622AAAAAA0340%' or Title like N'%A83F622AAAAAA0340%'or Tel like N'%A83F622AAAAAA0340%'))  or(Guest_Type='2' and Guest_ID in(select Customer_ID from Customer where Name like N'%A83F622AAAAAA0340%' or Company_Name like N'%A83F622AAAAAA0340%'or Mobile like N'%A83F622AAAAAA0340%' ))   order by Create_Date去掉 Order By Sql语句可以执行成功,加上Order By Sql语句持续执行,无法返回结果。
请问这是什么原因造成的???

解决方案 »

  1.   

    语句就是在查询分析器中执行的
    分析结果 Command(s) completed successfully.
      

  2.   

    测试一下
    order by Create_Date
    后面加个desc 看看是否有结果?
      

  3.   

    order by Create_Date 后面有没有 ASC或者DESC?
      

  4.   

    还是不行,不过我把 top 15 去掉就可以,top 和Order By 只能选择一个,不知道
    为什么??
      

  5.   

    那推测就对了,是SQL执行顺序的问题。
      

  6.   

    不行就把结果集套在一个 查询中吧select * 
    from 
    (
      select top 15 * from view_Claim_Main  
      where Subject like N'%A83F622AAAAAA0340%' or SN like N'%A83F622AAAAAA0340%'
       or
      (Guest_Type='1' and Guest_ID in(select Dealer_ID from dbo.Dealer where Contact like N'%A83F622AAAAAA0340%' or Title like N'%A83F622AAAAAA0340%'or Tel like N'%A83F622AAAAAA0340%'))   
      or
      (Guest_Type='2' and Guest_ID in(select Customer_ID from Customer where Name like N'%A83F622AAAAAA0340%' or Company_Name like N'%A83F622AAAAAA0340%'or Mobile like N'%A83F622AAAAAA0340%' ))  
    ) t1
    order by t1.Create_Date
      

  7.   

    加个括号试试呢~select top 15 * from view_Claim_Main  
    where (Subject like N'%A83F622AAAAAA0340%' or SN like N'%A83F622AAAAAA0340%' or(Guest_Type='1' and Guest_ID in(select Dealer_ID from dbo.Dealer where Contact like N'%A83F622AAAAAA0340%' or Title like N'%A83F622AAAAAA0340%'or Tel like N'%A83F622AAAAAA0340%'))   or(Guest_Type='2' and Guest_ID in(select Customer_ID from Customer where Name like N'%A83F622AAAAAA0340%' or Company_Name like N'%A83F622AAAAAA0340%'or Mobile like N'%A83F622AAAAAA0340%' )))    order by Create_Date
      

  8.   

    可能数据量太大了,给Create_Date字段建个索引(index)再试