没看明白,要查数据的话,楼主的已经可以了
要排序的话,因为都是按sendtime,所以没有什么要处理的

解决方案 »

  1.   

    这样试试看:
    SELECT distinct *
    FROM tblMessageDetails
    WHERE Receiver = @Username
    ORDER BY SendTime Descunion allSELECT distinct *
    FROM tblMessageDetails
    WHERE Sender = @Username
    ORDER BY SendTime Desc
      

  2.   

    CREATE PROCEDURE spGetMessages
    @Username nvarchar(50)
    AS
    SELECT distinct 
    类型=case when Receiver=@Username then '接收' else '发送' end
    ,*
    FROM tblMessageDetails
    WHERE Receiver = @Username or Sender = @Username
    ORDER BY 类型,SendTime Desc
    GO
      

  3.   

    楼主是这个意思么,我猜的
    CREATE PROCEDURE spGetMessages
    @Username nvarchar(50)
    AS
    SELECT distinct *
    FROM tblMessageDetails
    WHERE Receiver = @Username or Sender = @Username
    ORDER BY (case when Receiver = @Username then 0 else 1 end),SendTime Desc 
            --接收者的排在前面
    GO

    CREATE PROCEDURE spGetMessages
    @Username nvarchar(50)
    AS
    SELECT distinct *
    FROM tblMessageDetails
    WHERE Receiver = @Username or Sender = @Username
    ORDER BY (case when Receiver = @Username then 1 else 0 end),SendTime Desc 
            --发送者的排在前面
    GO
      

  4.   

    zjcxc(邹建)的ok,我已结帖,但为什么分数显示不对啊