J'ai un système de messagerie personnel sur mon site, ce qui est assez facile. Mais je voudrais avoir une page d'administrateur où toutes les conversations sont montrées entre les utilisateurs et leur quantité de messages.Comment cross-grouper sur deux colonnes en SQL?
Donc, la table ressemble (version simplifiée):
CREATE TABLE pm (
id INT(10) NOT NULL AUTO_INCREMENT,
from INT(10) NOT NULL REFERENCES (usertable),
to INT(10) NOT NULL REFERENCES (usertable),
message BLOB NOT NULL
);
Exemple:
Dire que j'ai certains utilisateurs: Mark, John, Bryan et Kate.
Mark (from) envoie 5 messages à John (to) et John (from) envoie 3 messages à Mark (to).
Kate (à partir de) envoie 2 messages à Bryan (à) et Bryan (à partir de) envoie 1 message à Kate (à).
Je voudrais un ensemble de résultats qui montre
Mark - John - 8 messages
Kate - Bryan - 3 messages
Et ceci pour tous les utilisateurs de ma table à la fois .
Je suis vraiment bloqué à ce sujet et j'ai cherché partout, mais je n'ai pas trouvé de solution. La difficulté réside dans le fait que je veux tous les utilisateurs répertoriés et je dois traverser la colonne "de" et "à" en quelque sorte ...
J'espère que tout le monde sera en mesure d'aider. Merci d'avance.
Merci beaucoup! Tu as fait ma journée! :) – LMoeyaert