ugrás a tartalomhoz

connect by prior mysqlben

axiss · 2007. Feb. 17. (Szo), 19.28
Sziasztok!
Oracles alakalmazást kéne átültetnem MySQLbe, tele ilyen hiearchikus selectekkel:

SELECT T3.JELLEMZO_ID, MM.pkg_Nyelv.VonatkoztatottUtolsoNev('JELN', MM.pkg_Ido.IdoToHonap(:aKurrensido), T3.JELLEMZO_ID, :aJellemzoID) AS NYELVI_NEV, T3.Szint
FROM (
SELECT T11.JELLEMZO_ID, MIN(TalaltSzint) AS Szint FROM
(SELECT T10.JELLEMZO_ID, LEVEL AS TalaltSzint
FROM MINMUT.SZAMITASI_ARGUMENTUM T10
START WITH T10.SZAMARG_JELLEMZO_ID = :aJellemzoID
CONNECT BY PRIOR T10.JELLEMZO_ID = T10.SZAMARG_JELLEMZO_ID) T11
GROUP BY T11.JELLEMZO_ID) T3
ORDER BY NYELVI_NEV ASC


Van valami remény ilyeneket futtatni mysql-ben?
 
1

Aligha

Wabbitseason · 2007. Feb. 17. (Szo), 23.49
Aligha van connect by prior MySQL-ben. Oracle-ön kívül miben fordul még ez elő?

Ha nem végtelen mélységű a fa, akkor berakhatsz annyi left joint, amekkora a mélység, és így egy queryvel megkaphatod. (Ez r937 kedvenc megoldása, és például itt látható: http://www.sitepoint.com/forums/showthread.php?t=231537)

Ha ez így nem jön össze, talán annyit tudsz "spórolni", hogy szintenként indítasz egy selectet, kigyűjtöd az "id"-kat, és a következő selectnél az "parent IN(id1, id2, id3...)" formát használod, majd szerveroldalon építed fel a fát az id-k párosításával.