Py学习  »  DATABASE

mysql查询以检索两个用户之间的对话

DonalC93 • 5 年前 • 1415 次点击  

我有一个很快的问题,我需要一个意见。我正试图编写一个mysql查询,从两个用户之间的对话中提取所有消息。 我需要能拉信息 由“user1”发送 那是 发送到“user2” ,和消息 由“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查询是个麻烦。

任何帮助都是 大大地 感谢:)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42945
 
1415 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Barmar
Reply   •   1 楼
Barmar    6 年前

你需要使用 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