Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
554 connectés 

  FORUM HardWare.fr
  Programmation

  SQL: Cheminement dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL: Cheminement dynamique

n°162530
Deka
Panic pas, prends un ...
Posté le 19-06-2002 à 14:57:31  profilanswer
 

Je souhaite monter une requete qui fasse correspondre deux champs entre eux (Id et Arbre). :pt1cable:  
 

  • Contenu de la table:

Id   Arbre   Titre
1      0     Menu1-a
2      0     Menu1-b
3      0     Menu1-c
4      2     Menu2-a
5      2     Menu2-b
6      2     Menu2-c
7      5     Menu3-a
 
Ainsi, je rentre Id=7 et celui ci m'affiche les enregistrements:
 

  • Résultat souhaité de la requête:

Id   Arbre   Titre
7      5     Menu3-a
5      2     Menu2-b
2      0     Menu1-b
 
Et voila, c'est tout mais c'est la galère...
--------------------------------------------------------
Quelques éléments de réponse ne seraient pas de refus...
Merci,  :hello:  
--------------------------------------------------------


Message édité par Deka le 19-06-2002 à 14:58:18

---------------
,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,
mood
Publicité
Posté le 19-06-2002 à 14:57:31  profilanswer
 

n°162531
Loom the G​loom
Even coders get the blues...
Posté le 19-06-2002 à 14:58:33  profilanswer
 

SELECT * FROM taTable WHERE id = 7
 
 
?????
 
 
edit : désolé je viens de comprendre ce que tu voulais  
 
sorry j'y réfléchis plus longuement


Message édité par Loom the Gloom le 19-06-2002 à 15:00:07

---------------
Music|Market|Feed|Loom|DVD
n°162538
Loom the G​loom
Even coders get the blues...
Posté le 19-06-2002 à 15:01:22  profilanswer
 

SELECT * FROM taTable WHERE id = 7 OR id = taTable.arbre
 
 
un truc du genre ??
 
à tester cependant


---------------
Music|Market|Feed|Loom|DVD
n°162562
Deka
Panic pas, prends un ...
Posté le 19-06-2002 à 15:08:34  profilanswer
 

Loom the Gloom a écrit a écrit :

SELECT * FROM taTable WHERE id = 7 OR id = taTable.arbre
 
 
un truc du genre ??
 
à tester cependant  




 ;)  
C'est un truc comme ça en plus complexe car la correspondance entre les champs Id et arbre n'est pas sur le même enregistrement... Arfff
 
Voir exemple dans la question.
 
 :pt1cable:


---------------
,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,
n°162573
Loom the G​loom
Even coders get the blues...
Posté le 19-06-2002 à 15:11:43  profilanswer
 

je rectifie :
 
SELECT * FROM taTable WHERE id = 7 or id = (SELECT arbre FROM taTable)
 
 
toujours pas assez complexe ?  ;)


---------------
Music|Market|Feed|Loom|DVD
n°162590
omega2
Posté le 19-06-2002 à 15:19:47  profilanswer
 

Avec SYBASE, t'as les procédures stockés qui, me semble t'il, permettent de faire des requêtes de manière récursive.
 
C'est avec quelles bases de données que tu dois faire fonctionner ton programme?

n°162599
Deka
Panic pas, prends un ...
Posté le 19-06-2002 à 15:26:17  profilanswer
 

omega2 a écrit a écrit :

Avec SYBASE, t'as les procédures stockés qui, me semble t'il, permettent de faire des requêtes de manière récursive.
 
C'est avec quelles bases de données que tu dois faire fonctionner ton programme?  




 
C'est avec une simple base Access.


---------------
,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,
n°162691
omega2
Posté le 19-06-2002 à 16:33:03  profilanswer
 

Deka a écrit a écrit :

 
 
C'est avec une simple base Access.  



Alors je vais pas pouvoir t'aider.
D'autre saurint peut être quoi faire.

n°162693
Loom the G​loom
Even coders get the blues...
Posté le 19-06-2002 à 16:37:22  profilanswer
 

select taTable.*, taTable.* FROM taTable WHERE taTable.id = 7 or taTable.id = (SELECT taTable.arbre FROM taTable)
 
 
je sais que j'avais déja fait un truc du genre... mais encore une fois à voir...


---------------
Music|Market|Feed|Loom|DVD
n°162768
Deka
Panic pas, prends un ...
Posté le 19-06-2002 à 18:41:53  profilanswer
 

UP  :eek2:

mood
Publicité
Posté le 19-06-2002 à 18:41:53  profilanswer
 

n°162824
DJERO
Yoooup...merde ça marche pas..
Posté le 19-06-2002 à 20:03:22  profilanswer
 

UP PLEASE :cry:

n°163248
Ziouware
Posté le 21-06-2002 à 11:58:17  profilanswer
 

euh petite question!! est ce que tu fais cela sous SQL server ?? car si oui , tu peux faire une procédure stockée avec un curseur!!

n°163327
irulan
Posté le 21-06-2002 à 13:33:27  profilanswer
 

A priori, je dirais que c'est impossible à faire en SQL pur (ce n'est pas un langage procédural.
Maintenant avec un truc du style procédure stockée, c'est beaucoup plus envisageable.

n°163337
Poulou
Posté le 21-06-2002 à 13:50:56  profilanswer
 

Ouaip, même avis que irulan
Par contre si tu es sur Access, tu peux faire un peu de code en VBA qui te permettra de faire tes requêtes de façon récursive et ainsi afficher le résultat que tu souhaites. C'est à mon humble  avis la solution.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  SQL: Cheminement dynamique

 

Sujets relatifs
wanadoo hébergeur dynamique?Connexion SQL server avec jsp
ASP: Cheminement dynamique[SQL] dump de BD
[PHP] requete SQL, bug ou normal ?[VB] Syntaxe de requete SQL éronnée ??
SQL debutant cherche erreur syntaxe [resolu]Retour chariot en PL/SQL
[JAVASCRIPT] menu dynamique : besoin d'aide !!!! 
Plus de sujets relatifs à : SQL: Cheminement dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR