我将回复存储在一个单独的表中,原始邮件作为引用ID。我尝试做的是,当点击一条消息时,它会抓取所有相应的回复并在主要消息下显示它们,但是如何获取相应的消息?
这是我尝试过的但无法找到有效的WHERE
条款。有没有办法按to_id
和from_id
以及reference_id
对这些内容进行分组,还是我一起走错了轨道?
基本SQL在这一点上几乎是我的上限,所以任何指针都会受到赞赏。
回复表格
消息表
我想要做的是与某人进行一次主要对话,如果您在所有进一步的回复和/或新消息显示在
之后给您留言实施例
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
等......
答案 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