我有两个表用户和消息:
如何完全选择两个用户之间的对话?
例如,如果用户#1向用户#2发送消息:“你好吗”,然后#2回答“好,你呢?”怎么那么选择这样的东西?
谢谢,对不起,我的英语很差
答案 0 :(得分:2)
(未经测试......;)
CREATE PROCEDURE GetConversation
(
@user1 BIGINT
,@user2 BIGINT
)
AS
Select [FromUserID], Date, Text from Messages WHERE [FromUserID] in (@user1,@user2) AND [ToUserID] in (@user1,@user2) ORDER BY Date DESC
注意,只有在您想要映射用户的特定数据时才需要“用户”表。例如:显示用户名而不是ID。您将通过简单的JOIN来实现这一目标。
@Edit:在第一个问题标题中没有注意到“存储过程”。