在过去的几个小时里,我被这个查询卡住了,我非常需要有人帮我解决这个问题。我试图完成我的私人消息系统,但我迷失在数据库表中。我为系统创建了三个表,它们如下:
CONVERSATION(**conversation_id**, subject)
CONVERSATION_MEMBER(**conversation_id**, **user_id**, conversation_last_view, conversation_deleted)
CONVERSATION_MESSAGE(**message_id**, conversation_id, user_id, message_date, message_text)
好的,所以在我获取特定用户的所有对话的功能中,我正在获取主题、日期,最后我想向用户展示他/她正在与谁交谈。我写了以下查询:
SELECT
c.conversation_id,
c.conversation_subject,
MAX(cmes.message_date) AS conversation_last_reply,
FROM conversation c, conversation_member cmem, conversation_message cmes
WHERE c.conversation_id = cmes.conversation_id
AND c.conversation_id = cmem.conversation_id
AND cmem.user_id = {$_SESSION['user_id']}
AND cmem.conversation_deleted = 0
GROUP BY c.conversation_id
ORDER BY conversation_last_reply DESC
而且,最后我试图获取用户的名字和姓氏(对话中的另一个用户),但我迷失了如何做到这一点。我试图创建另一个函数来获取对话 id,同时遍历第一个查询的结果,并返回用户的名字和姓氏,但没有成功。
顺便说一句,对于用户,我还有另一张桌子......我想我不必告诉你。好的谢谢。