Ben şu anda bir özel mesajlaşma forum için aşağıdaki tablolar vardır:
Ne yapmaya çalışıyorum parçacığı tarafından üst ve grubunda en son konu görüntüleyen bir "gelen kutusu" çıkışı olursa olsun gönderenin kim olduğunu, (anlamı, gelen kutunuzda iki kez aynı konu görmüyorum).
Ne şu anda sahip 2 uesrs arasında basit mesajlar için çalışıyor. Üçüncü bir kullanıcı aynı konuya cevap Ancak, bir kez doğru göstermez. Benim geçerli sorgu şudur:
SELECT pm_info.is_read, sender.usrFirst as sender_name, pm_data.date_sent, pm_data.title, pm_data.thread_id, pm_data.id as dataid, thread_max_date_sent
FROM pm_info
INNER JOIN pm_data ON pm_info.message_id = pm_data.id
INNER JOIN tblUsers AS sender ON pm_data.sender_id = sender.usrID
INNER JOIN (SELECT thread_id, sender_id, MAX(date_sent) AS thread_max_date_sent FROM pm_data GROUP BY thread_id, sender_id) deriv1 ON pm_data.thread_id = deriv1.thread_id AND pm_data.date_sent = deriv1.thread_max_date_sent AND pm_data.sender_id = deriv1.sender_id
WHERE pm_info.receiver_id = '$usrID'
ORDER BY deriv1.thread_max_date_sent DESC
= 68 $ usrID (dolayısıyla, receiver_id = 68), bu çıkışları olduğunu varsayarsak:
From: Kyle (pm_data.id = 18) RE: single message (thread_id= 13587)
From: Ed (pm_data.id = 12) RE: single message (thread_id= 13587)
From: Ed (pm_data.id = 8) RE: Test Number 2 (thread_id= 16256)
2 farklı gönderenler vardır çünkü thread_id (13587) kez gösterir nasıl fark.
Nasıl ben just olursa olsun gönderen kim olduğunu, en son thread_id görüntülemek olabilir?
Çok teşekkürler!