这样不是可以吗??Declare @contentid Int
Set @contentid=2
Select * from MsgContent Where contentid=@contentid Or contentid=@contentid+1 Or contentid=@contentid-1
Set @contentid=2
Select * from MsgContent Where contentid=@contentid Or contentid=@contentid+1 Or contentid=@contentid-1
比如删了2
那 1的下一条就是 3l 了
declare @tb table(ID int identity,contentid int,title varchar(20),content text)
insert @tb(contentid,title,content) select contentid,title,content from MsgContent
Declare @ID Int
set @ID=2
Select * from @tb Where ID=@ID Or ID=@ID+1 Or ID=@ID-1
Declare @contentid Int
Set @contentid=2
Select * from MsgContent
Where contentid=@contentid
Or contentid=(Select Max(contentid) from MsgContent Where contentid<@contentid)
Or contentid=(Select Min(contentid) from MsgContent Where contentid>@contentid)