这样不是可以吗??Declare @contentid Int
Set @contentid=2
Select * from MsgContent Where contentid=@contentid Or contentid=@contentid+1 Or contentid=@contentid-1

解决方案 »

  1.   

    to : paoluo(一天到晚游泳的鱼) ( ) 信誉:100 id 为 2 的上一条并不一定是 1 下一条不一定是  3因为可能删除信息啊 
    比如删了2  
    那  1的下一条就是  3l 了
      

  2.   

    修改一下
    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
      

  3.   

    那试试这个
    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)