A voir également:
- Requête récursive
- Ppcm recursive ✓ - Forum Programmation
- La requête graphql n’est pas autorisée facebook - Forum Facebook
- Requête sql pix - Forum Python
- Erreur de requete facebook rencontre - Forum Facebook
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
2 réponses
en récursif tu peux obtenir
1 DE905
2 971030DE
3 97103usi
4 97103FON
2 07730301
2 945940de
au premier enregistrement prêt et en retirant 1 au level, c'est ce que tu veux
pour ça il faut ajouter un enregistrement dansl a table
A B
null DE905
et en Oracle écrire
select LEVEL, B from recuv
start with A is null
connect by prior B = A
Start donne l'enregistrment ROOT
Connect by la clause de liaison pere- fils
voila
1 DE905
2 971030DE
3 97103usi
4 97103FON
2 07730301
2 945940de
au premier enregistrement prêt et en retirant 1 au level, c'est ce que tu veux
pour ça il faut ajouter un enregistrement dansl a table
A B
null DE905
et en Oracle écrire
select LEVEL, B from recuv
start with A is null
connect by prior B = A
Start donne l'enregistrment ROOT
Connect by la clause de liaison pere- fils
voila
Bonjour,
Tu as compris exactement ce que je souhaite obtenir, le problème, c'est que je le fais sous access, et je n'arrive pas à transformer ton sql sous access. En plus, je n'ai pas le level dans ma table, c'est à moi de le définir suivant la position du parent.
Connais tu cela dans Access 97 ?
Merci
Tu as compris exactement ce que je souhaite obtenir, le problème, c'est que je le fais sous access, et je n'arrive pas à transformer ton sql sous access. En plus, je n'ai pas le level dans ma table, c'est à moi de le définir suivant la position du parent.
Connais tu cela dans Access 97 ?
Merci
ha lalalala, avec access t'es dans la m.... il va falloir écrire une procédure pour traiter la récursivité, c'est assez simple mais c'est du code et donc soumis à bug. SQL est une norme mais comme d'hab Bill ne la respecte pas et à ma connaissance il n'existe pas de requete recursive dans le SQL d'Access. Pour info LEVEL est champ caché d'Oracle.
Tu n'as besoin que d'une requete simple sur ta table et d'un algo recursif qui traite les données toujours dans le même sens (de gauche à droite par exemple) et stocke dans une autre table le résultat.
Voila, je ne peux pas d'en dire plus.
Tu n'as besoin que d'une requete simple sur ta table et d'un algo recursif qui traite les données toujours dans le même sens (de gauche à droite par exemple) et stocke dans une autre table le résultat.
Voila, je ne peux pas d'en dire plus.
Ecoute c'est simple.
Tu crées une table "t_level" ayant deux champs: level et B
Tu places le code suivant quelque part(où il le faut)
dim i as integer
dim db as database,rst as recordeset
dim rstlv as recordset
set db=currentdb()
set rst=db.openrecordeset("nom_table")
set rstlv=db.openrecordeset("t_level")
i=1
rst.movefirst
do while not rst.EOF
rstlv.addnew
rstlv!level=i
rstlv!B=rst!B
i=i+1
rstlv.update
rst.movenext
Loop
Ensuite tu appelles une requete rq_level
rq_level="select * from t_level"
Et le tour est joué.
Tu crées une table "t_level" ayant deux champs: level et B
Tu places le code suivant quelque part(où il le faut)
dim i as integer
dim db as database,rst as recordeset
dim rstlv as recordset
set db=currentdb()
set rst=db.openrecordeset("nom_table")
set rstlv=db.openrecordeset("t_level")
i=1
rst.movefirst
do while not rst.EOF
rstlv.addnew
rstlv!level=i
rstlv!B=rst!B
i=i+1
rstlv.update
rst.movenext
Loop
Ensuite tu appelles une requete rq_level
rq_level="select * from t_level"
Et le tour est joué.