Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/09/2008, 12h30   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 7
Points : 0
Points : 0
Par défaut Problème requête avec connect by et start with

Bonjour tout le monde,

je suis bloqué depuis qlq jours sur une requete.

j'ai une table qui contient des enregistrements sous forme d'une arbre
j'ai les racines (pere) et des braches (fils).

je souhaite avoir tout les enregistrement de la table sauf les enregistrements de la brache qui a comme racine "Trash".

pour l'instant voila ce que j'ai fais fais ca ne fonctionne pas

Code :
1
2
3
4
 
SELECT count(*) FROM REQ WHERE RQ_REQ_STATUS NOT LIKE 'Not Covered'
START WITH RQ_FATHER_ID = -1 AND RQ_REQ_NAME <> 'Trash'
connect BY  prior RQ_REQ_ID = RQ_FATHER_ID
Qlq un peut il m'aider car je sais plus quoi faire

Merci d'avance
fatagad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 13h50   #2
Membre confirmé
 
Avatar de JerryMouse
 
Homme N'Guessan KOUAME
Inscription : avril 2002
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme N'Guessan KOUAME
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2002
Messages : 210
Points : 270
Points : 270
Envoyer un message via MSN à JerryMouse Envoyer un message via Yahoo à JerryMouse
Et ca te genere des erreurs?
Si non, Mais en commentaire et Execute et verifie que tu as des données.
Aussi, une de tes lignes doit satisfaire la condition
Code :
RQ_FATHER_ID = -1 AND RQ_REQ_NAME <> 'Trash'
__________________
Très souvent, le plus difficile est de savoir ce que l'on veut.
JerryMouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 14h19   #3
Invité de passage
 
Inscription : septembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 7
Points : 0
Points : 0
Non je n'ai pas d'erreurs sauf que il me retourne touts les enregistrements qui respecte la condition du where

Code :
WHERE RQ_REQ_STATUS NOT LIKE 'Not Covered'
fatagad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 15h18   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
SQL> SELECT level, e.*
  2  FROM emp e
  3  start WITH mgr IS NULL
  4  connect BY prior empno = mgr
  5         AND empno <> 7698
  6  ;
 
     LEVEL EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
---------- ----- ---------- --------- ----- ----------- --------- --------- ------
         1  7839 KING       PRESIDENT       17/11/1981    5000,00               10
         2  7566 JONES      MANAGER    7839 02/04/1981    2975,00               20
         3  7788 SCOTT      ANALYST    7566 09/12/1982    3000,00               20
         4  7876 ADAMS      CLERK      7788 12/01/1983    1100,00               20
         3  7902 FORD       ANALYST    7566 03/12/1981    3000,00               20
         4  7369 SMITH      CLERK      7902 17/12/1980     800,00               20
         2  7782 CLARK      MANAGER    7839 09/06/1981    2450,00               10
         3  7934 MILLER     CLERK      7782 23/01/1982    1300,00               10
 
8 rows selected
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 17h16   #5
Invité de passage
 
Inscription : septembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 7
Points : 0
Points : 0
je viens de tester ma requete

Code :
1
2
3
4
 
SELECT count(*) FROM REQ WHERE RQ_REQ_STATUS NOT LIKE 'Not Covered'
START WITH RQ_FATHER_ID = -1 
connect BY  prior RQ_REQ_ID = RQ_FATHER_ID AND RQ_REQ_NAME <> 'Trash'
j'ai le meme resultat aucun changement

en faite je peux pas savoir en avance le Id j'ai que le nom
fatagad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 17h35   #6
Membre confirmé
 
Avatar de JerryMouse
 
Homme N'Guessan KOUAME
Inscription : avril 2002
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme N'Guessan KOUAME
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2002
Messages : 210
Points : 270
Points : 270
Envoyer un message via MSN à JerryMouse Envoyer un message via Yahoo à JerryMouse
Execute ceci
Code :
SELECT RQ_REQ_ID ,RQ_FATHER_ID  ,RQ_REQ_NAME FROM REQ WHERE RQ_REQ_STATUS NOT LIKE 'Not Covered'
__________________
Très souvent, le plus difficile est de savoir ce que l'on veut.
JerryMouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2008, 09h53   #7
Invité de passage
 
Inscription : septembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 7
Points : 0
Points : 0
en faite ca me retourne tout ce qui est 'not covered' avec les enregistrements qui ont comme racine "trash"

en faite voila la structure du contenu de ma table

tata toto trash
| | |
/ \ / \ /\
ta ta to to la la
/\ /\ /\ /\ /\
p p o o p p m m

ce que je veux c avoir toutes les braches tata, toto et tout leurs fils(ta,to,..)
sauf le "trash"
fatagad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2008, 11h18   #8
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Code :
1
2
3
4
5
6
7
 
SELECT count(*) 
  FROM REQ 
 WHERE RQ_REQ_STATUS NOT LIKE 'Not Covered'
 START WITH RQ_FATHER_ID = -1 
   AND RQ_REQ_NAME <> 'Trash'
 connect BY  prior RQ_REQ_ID = RQ_FATHER_ID
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2008, 11h31   #9
Invité de passage
 
Inscription : septembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 7
Points : 0
Points : 0
Merci pour votre aide en faite il fallais juste mettre le prior de l'autre cote
voici la requete

Code :
1
2
3
4
5
6
7
 
SELECT count(*) 
  FROM REQ 
 WHERE RQ_REQ_STATUS NOT LIKE 'Not Covered'
 START WITH RQ_FATHER_ID = -1 
   AND RQ_REQ_NAME <> 'Trash'
 connect BY  RQ_FATHER_ID  = prior RQ_REQ_ID
Merci encore
fatagad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h01.


 
 
 
 
Partenaires

Hébergement Web