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 08/01/2008, 16h29   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 9
Points : 0
Points : 0
Par défaut Affichage arborescence avec deux table

Bonjour

j'ai une requete avec deux tables T1 et T2

Code :
1
2
3
4
5
6
7
8
SELECT 1,level,t1.Parent,t1.ENFANT,t2.trie
FROM T1,t2
WHERE 
t1.enfant=t2.enfant (+)
AND t1.parent=t2.parent(+)
connect BY prior t1.enfant = t1.PARENT 
--start with t1.PARENT ='GRAND_PERE' 
ORDER BY t2.trie,t1.parent,t1.enfant

j'ai le message suivant

Citation:
ORA-01437 cannot have join with CONNECT BY


je compte beaucoup sur votre aide

Mes amitiés
hichamy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 16h30   #2
Invité de passage
 
Inscription : janvier 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 9
Points : 0
Points : 0
Citation:
Envoyé par hichamy Voir le message
Bonjour

j'ai une requete avec deux tables T1 et T2

select 1,level,t1.Parent,t1.ENFANT,t2.trie
from T1,t2
where
t1.enfant=t2.enfant (+)
and t1.parent=t2.parent(+)
connect by prior t1.enfant = t1.PARENT
--start with t1.PARENT ='GRAND_PERE'
order by t2.trie,t1.parent,t1.enfant


j'ai le message suivant

ORA-01437 cannot have join with CONNECT BY



je compte beaucoup sur votre aide

Mes amitiés
je vous rappele que j'utiliste une 8.1....
hichamy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 16h38   #3
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
http://ora-01437.ora-code.com/
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 17h07   #4
Invité de passage
 
Inscription : janvier 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 9
Points : 0
Points : 0
je sais ce qu'il faut faire, je voudrais savoir s'il y a une solution miracle pour repondre a mon besoin (rigole)

je sais pas si qulq a une proposition pour contourner le probléme

merci par avance
hichamy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 17h08   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
si tu n'expliques pas ce que tu veux faire on aura du mal à t'aider
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 17h13   #6
Membre Expert
 
Homme
Expert Datawarehouses + BO (sur BDD Oracle et SQL Server)
Inscription : mars 2003
Messages : 645
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 41
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Expert Datawarehouses + BO (sur BDD Oracle et SQL Server)

Informations forums :
Inscription : mars 2003
Messages : 645
Points : 1 165
Points : 1 165
surtout que les requêtes récursives (CONNECT BY) c'est un chouilla complexe en général.
phili_b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 17h55   #7
Invité de passage
 
Inscription : janvier 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 9
Points : 0
Points : 0
SELECT last_name "Employee", LEVEL, depnameFROM employees ,dep
WHERE deptno=employees.department_id
AND department_id = 80
START WITH last_name = 'King'
CONNECT BY PRIOR employee_id = manager_id



Si le select est sur deux tables ne fonctionne pas

je crois que je vais passer par des vues materialisé
hichamy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 18h15   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par hichamy Voir le message
je crois que je vais passer par des vues materialisé
D'abord je serais curieux de voir comment ça pourrait régler le problème et surtout comment tu vas la rafraichir
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2008, 21h00   #9
Membre éprouvé
 
Inscription : décembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 354
Points : 408
Points : 408
Je n'ai pas un 8i sous la main mais ça marche pour 10.2
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
SELECT *
FROM v$version
 
BANNER                                                           
---------------------------------------------------------------- 
Oracle DATABASE 10g Enterprise Edition Release 10.2.0.2.0 - Prod 
PL/SQL Release 10.2.0.2.0 - Production                           
CORE	10.2.0.2.0	Production                                         
TNS FOR Linux: Version 10.2.0.2.0 - Production                   
NLSRTL Version 10.2.0.2.0 - Production                           
 
5 rows selected
 
SELECT ename "Employee", LEVEL, dname
FROM emp ,dept
WHERE dept.deptno=emp.deptno
START WITH ename = 'SCOTT'
CONNECT BY PRIOR empno = mgr
 
Employee   LEVEL                  DNAME          
---------- ---------------------- -------------- 
SCOTT      1                      RESEARCH       
ADAMS      2                      RESEARCH
Michel SALAIS 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 14h27.


 
 
 
 
Partenaires

Hébergement Web