Page 1 sur 1

SQL : Group by

Posté : 16 juil. 2013, 19:05
par nico44530
Bonjour,

Dans ma boite de réception, je rassemble tous les messages reçus de chaque membre.
Mais je souhaiterais grouper les messages du même expediteur et mettre à jour le dernier message reçu.

Pour ça je fais :
SELECT wa_communaute.id, wa_communaute.prenom, wa_communaute.nom, wa_communaute.pseudo, wa_mp.mp_id, wa_mp.mp_msg, wa_mp.mp_time, wa_mp.mp_lu
FROM (SELECT mp_expediteur, MAX(mp_id) AS max_id FROM wa_mp
WHERE wa_mp.mp_destinataire = :destinataire
GROUP BY mp_expediteur) AS last_message
JOIN wa_mp ON wa_mp.mp_expediteur = last_message.mp_expediteur AND wa_mp.mp_id = last_message.max_id
JOIN wa_communaute ON wa_mp.mp_expediteur = wa_communaute.id ORDER BY wa_mp.mp_id DESC
La requête fonctionne, le problème c'est que j'aimerais que les messages s'affichent chez les 2 membres.
Ex : Si membre1 envoi un msg au membre2, j'aimerais que les messages s'affichent aux 2 membres (Comme une conversation des 2 membres)
L'intérêt serait que l'expediteur voit quel message il a envoyé

Merci d'avance pour votre aide