connect by prior mysqlben
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?
■ 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?
Aligha
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.