如何将回复消息分组到原始消息

时间:2013-11-10 06:34:00

标签: php mysql

我将回复存储在一个单独的表中,原始邮件作为引用ID。我尝试做的是,当点击一条消息时,它会抓取所有相应的回复并在主要消息下显示它们,但是如何获取相应的消息?

这是我尝试过的但无法找到有效的WHERE条款。有没有办法按to_idfrom_id以及reference_id对这些内容进行分组,还是我一起走错了轨道?

基本SQL在这一点上几乎是我的上限,所以任何指针都会受到赞赏。

回复表格 enter image description here

消息表 enter image description here

我想要做的是与某人进行一次主要对话,如果您在所有进一步的回复和/或新消息显示在

之后给您留言

实施例

MAIN MESSAGE to USER 1
//grouped by date and if a certain period passes block with a line
reply from user 2
reply from user 1
----------------------------
days later
new message from user 2

等......

2 个答案:

答案 0 :(得分:1)

你正在寻找这样的东西吗?如果你可以提供消息和回复表的布局,它可能有帮助......

SELECT 
    `messages`.`message`,
    `replies`.`reply`
FROM 
    `messages`
JOIN
    `replies` ON(`messages`.`id` = `replies`.`message_id`)

答案 1 :(得分:1)

不确定这是否是您要找的

SELECT m.subject, r.Message, r.from_id, r.to_id FROM MESSAGE m
JOIN replies r on m.reply_id = r.id
WHERE ((m.from_id = `user_1_id` AND m.to_id = `user_2_id`)
OR (m.from_id = `user_2_id` AND m.to_id = `user_1_id`))
ORDER BY r.date_sent asc