在用戶開始私人聊天之前(在兩個成員之間,而不是羣聊)之前,我想檢查是否已經有一個只包含這兩個成員的聊天。如果他們已經在他們的最後刪除了聊天,當他們再次向同一用戶發送消息時,我希望它與舊聊天合併,而不是爲相同的兩個成員啓動重複聊天。按MySQL查詢返回特定結果的參數
這是我的結構
`chats` table
id created_time
1 [TIMESTAMP]
2 [TIMESTAMP]
`chats.parties` table
id chat_id member_id invited_by
1 1 1 0 // creator of chat
2 1 2 1
3 1 3 1
4 2 1 0
5 2 2 1
集團通過chat_id
但只返回包含有member_id=1
和member_id=2
行的結果;不多也不少。
對於上述表格,只有chat_id=2
行會被返回,因爲chat_id=1
包含第3個成員。
原始SQL可能嗎?我寧願不要在php中循環,因爲它需要很長時間的聊天。
不知道爲什麼我需要爲新創建的聊天添加左連接。但可能可以刪除。 –
@JuanCarlosOropeza事實上,所要求的所有信息都只出現在一張表中,但情況並非總是如此,因此常常需要左連接:) – jpw