create database test
create table News(
id int identity primary key,
title nvarchar(50),
context ntext,
typeId int,
createTime datetime
)insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())
insert into News values('今天JSTL考试,结果令人不尽如意','都挂了额',1,getdate())create PROCEDURE getNewsByTop
@pageSize int,@currentPageNo int,@title nvarchar(50),@typeId int
AS
begin
declare @strSQL nvarchar(1000)
 begin
set @strSQL='SELECT TOP '+CONVERT(nvarchar(20), @pageSize)+' * FROM News WHERE typeId NOT IN (SELECT TOP '+CONVERT(nvarchar(20), @pageSize*(@currentPageNo-1))+' typeId FROM News where title like ''%'+@title+'%'' and typeId ='+CONVERT(nvarchar(50),@typeId)+')and title like''%'+@title+'%'' and typeId ='+CONVERT(nvarchar(50),@typeId)+''
 end
 exec(@strSQL)
endexec getNewsByTop 10,2,'今天',1(取不出结果)
其简化语句为:SELECT TOP 10 * FROM News WHERE typeId NOT IN (SELECT TOP 0 typeId FROM News where title like '%今天%' and typeId =1)and title like'%今天%' and typeId =1
exec getNewsByTop 10,1,'今天',1(取得出结果)
简化语句为:SELECT TOP 10 * FROM News WHERE typeId NOT IN (SELECT TOP 10 typeId FROM News where title like '%今天%' and typeId =1)and title like'%今天%' and typeId =1
@currentPageNo为1时  结果取的出 为2时就取不出来 这是哪里错了 有谁能帮忙把结果分成2页显示 第一页为10条 第二页为2条