MySQL -> Zwei SQL-Abfragen kombinieren

P

-PHANTOMIAS-

Aktives Mitglied
Thread Starter
Dabei seit
04.05.2005
Beiträge
197
Reaktionspunkte
1
Hallo an alle!

Ich habe folgende SQL-Abfrage:
Code:
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:
Code:
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:
Code:
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:
Code:
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.
Code:
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ß -PHANTOMIAS-
 
Zurück
Oben Unten