MySql查询以检索2个用户之间的对话

时间:2019-03-09 19:01:51

标签: mysql

我遇到一个快速问题,可以提出意见。我正在尝试编写一个MySQL查询,该查询从两个用户之间的唯一对话中提取所有消息。 我需要能够拉出由'user1'发送的邮件由'user2'发送的邮件 发送到“ user1”

我已经涉猎了一点,目前已经获得执行查询所需的4个条件(请参见下文)。我一直在尝试找出构造它的方式,以获取所需的特定数据。

    SELECT privatemessage_message, privatemessage_time_created, privatemessage_sent_by, privatemessage_sent_to 
    FROM tbl_privatemessages 
    WHERE privatemessage_sent_by = 1 
       OR privatemessage_sent_by = 2 
       OR privatemessage_sent_to = 1
       OR privatemessage_sent_to = 2
    ORDER BY privatemessage_time_created ASC

对于上下文: 这将在PHP MySQL网站中使用,而AJAX用于私人消息传递。我对此表示满意,但这种特殊的SQL查询很麻烦。

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

您需要使用AND来组合发件人和收件人,并使用OR来组合不同的方向。

SELECT privatemessage_message, privatemessage_time_created, privatemessage_sent_by, privatemessage_sent_to 
FROM tbl_privatemessages 
WHERE (privatemessage_sent_by = 1 AND privatemessage_sent_to = 2)
   OR (privatemessage_sent_to = 1 AND privatemessage_sent_by = 2)
ORDER BY privatemessage_time_created ASC