oracle-> connect by prior

astra80

Grünschnabel
Moin!
Ich versuch grad zwei Tabellen miteinander zu verknüpfen.
Die Spalte Role soll mit der Spalte granted_role verknüpft
werden. Kann mir jemand sagen was ich falsch mach?
Er sagt nämlich das er x.granted_role nicht finden kann...

SELECT LEVEL ,t.ROLE,t.BEZ,t.BESCHREIBUNG
FROM sy_roles t WHERE ROLE LIKE 'RM_NET%' AND EXISTS
(SELECT * FROM sy_rollen x WHERE t.ROLE = x.granted_role)
CONNECT BY PRIOR t.ROLE = x.granted_role
 
Schreib mal ne 1 statt einem Stern
Die Eins steht einfach für einen Gefunden Datensatz, der Wert ist egal, gescheigedessen läuft der Select schneller..
und start with fehlt

so z.b.
Code:
SELECT t.LEVEL
, t.ROLE
, t.BEZ
, t.BESCHREIBUNG
FROM sy_roles t
WHERE t.ROLE LIKE 'RM_NET%'
AND EXISTS
	 (SELECT 1
	 FROM sy_rollen x
	 WHERE t.ROLE = x.granted_role)
	CONNECT BY PRIOR t.ROLE= x.granted_role
start with t.ROLE /* = ?*/;

Wenn es immer noch nicht funktioniert poste mal nen
desc sy_rollen
 
Zuletzt bearbeitet:
Zurück