Hallo an alle!
Ich habe folgende SQL-Abfrage:
select
\*
from
DATA\_INET inner join PARENTS
on PARENTS.DOCID = DATA\_INET.DOCID
inner join FOLDER
on FOLDER.FOLDERID = PARENTS.PARENT
left join FRONTENDUSERGROUP\_FOLDER\_MAP
on FRONTENDUSERGROUP\_FOLDER\_MAP.FOLDERID = FOLDER.FOLDERID
where
FRONTENDUSERGROUP\_FOLDER\_MAP.FOLDERID is null
and DATA\_INET.DISPLAY = 1
and FOLDER.DISPLAY = 1
group by
PARENTS.PARENT
Diese Abfrage funktioniert.
Nun will ich diese, die einzeln für sich funktioniert, in die obere Abfrage integrieren:
select
T0.FOLDERID as LEV0,
T1.FOLDERID as LEV1,
T2.FOLDERID as LEV2,
T3.FOLDERID as LEV3,
T4.FOLDERID as LEV4,
T5.FOLDERID as LEV5
from
FOLDER T0 left join FOLDER T1
on T1.PARENT = T0.FOLDERID
left join FOLDER T2
on T2.PARENT = T1.FOLDERID
left join FOLDER T3
on T3.PARENT = T2.FOLDERID
left join FOLDER T4
on T4.PARENT = T3.FOLDERID
left join FOLDER T5
on T5.PARENT = T4.FOLDERID
where
T0.FOLDERID = 2
Ich schaffe es zwar, dass keine Fehler auftreten bei der Integration, aber irgendwie mache ich es falsch, da nicht das was ich erwarte herauskommt.
Die untere Abfrage liefert bspw:
LEV0 LEV1 LEV2 LEV3 LEV4 LEV5
2 6 16 NULL NULL NULL
2 6 17 NULL NULL NULL
2 6 18 NULL NULL NULL
2 6 19 NULL NULL NULL
2 7 NULL NULL NULL NULL
2 8 NULL NULL NULL NULL
2 11 NULL NULL NULL NULL
2 12 13 NULL NULL NULL
2 12 15 NULL NULL NULL
2 12 20 NULL NULL NULL
2 12 21 NULL NULL NULL
2 22 NULL NULL NULL NULL
Integriere ich das so:
select
\*,
T0.FOLDERID as LEV0,
T1.FOLDERID as LEV1,
T2.FOLDERID as LEV2,
T3.FOLDERID as LEV3,
T4.FOLDERID as LEV4,
T5.FOLDERID as LEV5
from
DATA\_INET inner join PARENTS
on PARENTS.DOCID = DATA\_INET.DOCID
inner join FOLDER
on FOLDER.FOLDERID = PARENTS.PARENT
left join FOLDER T0 on T0.FOLDERID=2 left join FOLDER T1
on T1.PARENT = T0.FOLDERID
left join FOLDER T2
on T2.PARENT = T1.FOLDERID
left join FOLDER T3
on T3.PARENT = T2.FOLDERID
left join FOLDER T4
on T4.PARENT = T3.FOLDERID
left join FOLDER T5
on T5.PARENT = T4.FOLDERID
left join FRONTENDUSERGROUP\_FOLDER\_MAP
on FRONTENDUSERGROUP\_FOLDER\_MAP.FOLDERID = T0.FOLDERID
where
FRONTENDUSERGROUP\_FOLDER\_MAP.FOLDERID is null
and DATA\_INET.DISPLAY = 1
and FOLDER.DISPLAY = 1
group by
PARENTS.PARENT
Dann erscheint neben den anderen Daten bei den LEVx folgendes, also immer die LEV’s des ersten Eintrags.
LEV0 LEV1 LEV2 LEV3 LEV4 LEV5
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
2 6 16 NULL NULL NULL
Hat irgendjemand eine Idee was ich hier falsch mache bzw. wie man das richtig integriert?
Bin für jeden Tipp dankbar!
Gruß PHANTOM