Bonjour à tous,
Relativement nouveau dans le monde de MySQL, je butte sur le problème suivant malgré la lecture de nombreux tuto/forum/etc.
Voici un exemple simplifié de ce que j'essaye de faire:
J'ai une table comme suit:
je souhaite un retour qui ne liste que les "Parents" (c'est à dire parent_id IS NULL) mais triés par ordre anti-chronologique de la mise-à-jour (ou de la réponse) associée la plus récente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 champs: id parent_id titre cdate (msg author_id ...) tupule1: 1 NULL TA 1 janv 2000 (...) tupule2: 2 1 NULL 3 janv 2000 (...) tupule3: 3 NULL TB 5 janv 2000 (...) tupule4: 4 1 NULL 7 janv 2000 (...)
Par exemple ici un retour serait:
admettons que l'on ajoute:** TA crée le 1 janv 2000; maj le 7 janv 2000
** TB crée le 5 janv 2000;
Le retour serait maintenant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 tupule5: 5 3 NULL 9 janv 2000
Je souhaite une requête unique (avec éventuellement des sous-requêtes si nécessaire). J'ai essayé diverses options avec UNION, LEFT JOIN, CREATE TEMPLATE, GROUP BY, etc. pour le moment rien ne me satisfait car je dois re-traiter sous php après.** TB crée le 5 janv 2000; maj le 9 janv 2000
** TA crée le 1 janv 2000; maj le 7 janv 2000
Je m'en remets donc à votre expertise! Merci.
Fred
Partager