Classer résultats requête suivant une liaison réflexive. [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 24-06-2004 à 17:51:36
CONNECT BY ... PRIOR ...
Seul Oracle supporte cette fonction.
Il n'y a aucun autre moyen pour faire ça avec aucun autre SGBD.
A la limite tu peux te faire une procédure stockée de ouf, mais tu seras limité à un moment ou à un autre.
Marsh Posté le 24-06-2004 à 19:24:15
Arjuna a écrit : CONNECT BY ... PRIOR ... |
AÏE!!!!!
Bon, ben j'ai une solution de :
Vu que je veut les 5 derniers, je vais faire 5 requêtes qui fonctionnent en "Cascade"...puis un formulaire qui les présentes en tableau pour faire comme si il n'y en vait qu'une...
A moins qu'un fana du sql passe par là entre temps...
Merci du tuyau...
Marsh Posté le 24-06-2004 à 23:49:17
ben tu peux faire 5 jointures sur la meme table...
select lvl1.id, lvl2.id, lvl3.id, lvl4.id, lvl5.id
from latable lvl1, latable lvl2n latable lvl3, latable lvl4, latable lvl5
where lvl1.id = 1 and lvl2.pere = lvl1.id and lvl3.pere = lvl2.id and lvl4.pere = lvl3.id and lvl5.pere = lvl4.id
Marsh Posté le 25-06-2004 à 12:01:39
Arjuna a écrit : ben tu peux faire 5 jointures sur la meme table... |
Excelente idée!!!!
J'ai écrit ca:
Code :
|
Ca marche sans souci...ca me met tout sur la même ligne de la reqête mais je m'en accomoderai au niveau de l'interface...
Merci beaucoup!!!
Marsh Posté le 25-06-2004 à 14:03:54
Euh, y'a un problème avec tes jointures je pense... D'un côté il y a le numéro du dossier, et de l'autre celui du père logiquement. La tu retournes 5 fois le même
Marsh Posté le 25-06-2004 à 14:39:58
Arjuna a écrit : Euh, y'a un problème avec tes jointures je pense... D'un côté il y a le numéro du dossier, et de l'autre celui du père logiquement. La tu retournes 5 fois le même |
Je venais de m'en rendre compte...Merci!!!
J'ai édité le code...
Marsh Posté le 24-06-2004 à 17:34:09
J'explique le pourquoi de cette question étrange:
J'ai une table Dossier_Tbl qui contient:
ID_Dossier
ID_Dossier_précédent
...
Je souhaite récupèrer dans une requête mes dossiers dans l'ordre anti-chronologique de réalisation, mais les ID ne sont pas forcément dans l'ordre...
Il m'est facile de récupèrer le dernier en sélectionnant le dossier qui n'est jamais cité comme précédent et pour ceux qui précèdent je pensai écrire un truc dans ce genre là:
Nom-Requête :
Mais là dedans je ne connai pas la synthaxe de lauto-incrément
Et si elle existe je ne sais pas si il est possible que la requête sappelle elle même Dailleurs ca pose déjà un problène pour la première ligne qui ne peut pas faire référence à une précédente !!!
Vous avez une idée svp???
Puis si rien de tout ca est possible, je suis preneur de toute autre méthode pour classer mes dossiers
Merci...d'avance
Message édité par strawfield le 24-06-2004 à 17:38:42