我遇到一个快速问题,可以提出意见。我正在尝试编写一个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查询很麻烦。
非常感谢任何帮助:)
答案 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