关于单表SQL存储过程查询。分页条数,当前页码,总条数的问题

我实现PUB_AREA 表的数据查询, 上面是我写的调试, 指出在下面and处报错,无布尔类型,不知道到底哪里错了- -

declare @TotalNum int
exec PUB_AREA_SelectAREACITYByHsfSearchss '',10,1,@TotalNum output
select @TotalNum

alter PROCEDURE [dbo].[PUB_AREA_SelectAREACITYByHsfSearchss]                
@HsfSearch VARCHAR(2000), --刷选条件                
@PageSize INT,    --分页条数                
@CurPage INT,    --当前页码                
@TotalNum INT OUTPUT  --总条数                
AS                 

 DECLARE @BasicSQL VARCHAR(8000)                  
 DECLARE @BasicSQLTotal VARCHAR(8000)                
 SET @BasicSQLTotal='select AreaId,AreaName,ParentId from PUB_AREA'                    

 IF (@HsfSearch IS NOT NULL AND @HsfSearch <> '')                
 BEGIN                
  SET @BasicSQLTotal=@BasicSQLTotal+' WHERE '+@HsfSearch                
 END                 
 ELSE                 


 SET @BasicSQL=' SELECT AreaId,AreaName,ParentId                 
     FROM ('+@BasicSQLTotal+' ) A WHERE ' +                  
     CONVERT(VARCHAR,(@CurPage-1) * @PageSize + 1) + ' AND ' +                  
     CONVERT(VARCHAR,@CurPage * @PageSize) +' group by AreaId,AreaName,ParentId'                    

 EXEC  (@BasicSQL)                

 CREATE TABLE #Temp1                
 (                 
  num INT                
 )                

 INSERT INTO #Temp1                 
 EXEC ('SELECT count(*) FROM (' + @BasicSQL + ') A')  -- @BasicSQLTotal               

 SELECT @TotalNum=(                
      SELECT *                 
      FROM #Temp1                 
      )                    

 DROP TABLE #Temp1 

SET @BasicSQL=' SELECT AreaId,AreaName,ParentId

FROM ('+@BasicSQLTotal+' ) A WHERE ' +

CONVERT(VARCHAR,(@CurPage-1) * @PageSize + 1) + ' AND ' +

CONVERT(VARCHAR,@CurPage * @PageSize) +'='+ltrim(你的变量)+' group by AreaId,AreaName,ParentId'

    这种东西台的语句最后print出来看看就知道了

搞定啦。

SET @BasicSQL=' SELECT a.AreaId,a.AreaName,a.ParentId                 
   FROM ('+@BasicSQLTotal+' ) a  group by a.AreaId,a.AreaName,a.ParentId'                  
 EXEC  (@BasicSQL)