|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : janvier 2004 Messages : 112 ![]() |
Bonjour à tous,
Actuellement, j'ai une table dont la structure simplifiée est la suivante : [ID] [Hierarchie] où ID est un numéro et hiérarchie est une chaine de caractère au format x.y.z (ex: 4.6.3). De cette table je souhaiterais pouvoir extraire l'ensemble des champs qui n'ont pas d'enfants (par exemple si j'ai les niveaux hiérarchiques 4, 4.1, 4.1.1, je ne veux que 4.1.1). Y aurait-il moyen d'écrire une requête qui fasse ça ? Sinon comment parvenir à mes fins ? Merci.
__________________
Un ordinateur fait ce qu'on lui demande, et c'est bien le problème. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Despeludo,
Pas en une seule requête... L'idée est de jouer avec les Gauche() et les NbCar(), via l'assistant de création de requête. Soit T1, la table Hierarchie et T2, la table Hierarchie ![]() En gros, si T1.Hierarchie est présent dans T2.Gauche(T1.Hierarchie ; NbCar(T1.Hierarchie)) avec ID différent, alors l'enregstrement de T2 ne t'intéresse pas. A tester, mais l'idée semble correcte. Pas trop le temps les requêtes, mais je pense que tu as une base de travail.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 | ||
|
Membre éclairé
![]() |
Bonjour,
Si ton champ hiérarchie n'est jamais plus long que A.B.C (c'est-à-dire si tu n'as jamais A.B.C.D ou A.B.C.D.E), voici une méthode : Tu crées une fonction publique dans un module : Code :
Code :
SELECT * FROM MaTable WHERE NbreEnfants([Hierarchie])=2; |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com