|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : mai 2008 Messages : 187 ![]() |
Bonjour,
Je cherche depuis un moment mais ça ne donne rien...Voici ma relation message Code :
J'aimerai récupérer la dernière réponse de chaque message. Si on a par exemple: Parent1 possède {reponses -> rep1, rep2, rep3} Parent2 possède {reponses -> rep4, rep5} Le résultat retourné serait être : rep3 et rep5 Une idée ? Merci!
__________________
Github |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() François observateur de nuage niveau 2.3 Inscription : août 2008 Messages : 546 ![]() |
tu as essayé d'utiliser max() soit sur ta date ?
__________________
_____________________________________________ Tours Football Club - Turonorum Civitas Libera
|
|
|
00
|
|
|
#3 | ||||||
|
Membre actif
![]() Inscription : mai 2008 Messages : 187 ![]() |
Oui mais, pour le moment j'arrive juste à récupérer quelque chose de cette forme:
Code :
Code :
Code :
__________________
Github |
||||||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 843 ![]() |
Pour faire simple tu veux construire une requête hiérarchique qui va parcourir ton arborescence de message et sortir ses feuilles (les derniers)
Certains sgbd comme Oracle implémentent ça en natif... mais pas mysql... L'idée est de faire une procédure stockée qui va parcourir tous tes messages de premier niveau (avec null comme parent_id) et récupérer le sujet. on utilisera un curseur pour ça. puis pour chaque id on applique une fonction stockée qui va servir pour la récursion jusqu'à la feuille de la branche et rapatrier ce que tu veux (ici la date). Ne pas oublier de mettre à jour la variable d'environnement mysql qui autorise le nombre de récursion et qui est à 0 de base... pour être sur autan le faire dans la procédure. Pour le rendu, 2 grandes façons :
Au fait, des identifiant en int(4) ça te donne déjà plus de 2 milliards d'entrées à savoir, soit bien plus que ce que ne permet de traiter le pauvre mysql en un temps fini... De même, longtext ça fait plus que riche car text permet déjà plus de 64000 caractères, ça fait aussi déjà un très long message... ![]() Les colonnes vu et efface ne sont elles pas de simples booléens plutôt que des int(11)? Voilà un exemple qui fait ce que tu veux ... à noter que la limite de récursion est fixée à 255 dans mysql ![]() Code sql :
A toi d'adapter les infos que tu veux rapatrier avec d'éventuelles jointures (left outer join) si besoin...
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com