Ich hab eine mittelgroße SQl Abfrage mit mehreren JOINs, das Problem ist das es auf allen Datenbanken läuft außer bei MySQL
SELECT TT.TT_Num, TT.TT_Tit, TT.ST_Bez, TT.TT_Dri, TT.TT_DaGe, TT.TT_DaTa, MA1.MA_Nam, MA1.MA_Vor, MA.MA_Nam, MA.MA_Vor, GR.GR_Bez
FROM GR INNER JOIN (MA RIGHT JOIN (TT INNER JOIN MA AS MA1 ON TT.MA_KeEr = MA1.MA_Ken) ON MA.MA_Ken = TT.MA_KeVa) ON GR.GR_Ken = TT.GR_Ken
WHERE (((TT.TT_Num)=$TTNum))
Da es den RIGHT JOIN bei MySQL nicht gibt dreh ich einfach die Tabellen um und mach einen LEFT JOIN draus.
SELECT TT.TT_Num, TT.TT_Tit, TT.ST_Bez, TT.TT_Dri, TT.TT_DaGe, TT.TT_DaTa, MA1.MA_Nam, MA1.MA_Vor, MA.MA_Nam, MA.MA_Vor, GR.GR_Bez
FROM GR INNER JOIN ((TT INNER JOIN MA AS MA1 ON TT.MA_KeEr = MA1.MA_Ken) LEFT JOIN MA ON MA.MA_Ken = TT.MA_KeVa) ON GR.GR_Ken = TT.GR_Ken
WHERE (((TT.TT_Num)=$TTNum))
Es funktioniert aber trotzdem nicht!
Liegt es am INNER JOIN?Der sollte aber ab Version 3.23 funktionieren, und ich verwende die 3.23.
Weiß jemand was das Problem ist?
Danke
SELECT TT.TT_Num, TT.TT_Tit, TT.ST_Bez, TT.TT_Dri, TT.TT_DaGe, TT.TT_DaTa, MA1.MA_Nam, MA1.MA_Vor, MA.MA_Nam, MA.MA_Vor, GR.GR_Bez
FROM GR INNER JOIN (MA RIGHT JOIN (TT INNER JOIN MA AS MA1 ON TT.MA_KeEr = MA1.MA_Ken) ON MA.MA_Ken = TT.MA_KeVa) ON GR.GR_Ken = TT.GR_Ken
WHERE (((TT.TT_Num)=$TTNum))
Da es den RIGHT JOIN bei MySQL nicht gibt dreh ich einfach die Tabellen um und mach einen LEFT JOIN draus.
SELECT TT.TT_Num, TT.TT_Tit, TT.ST_Bez, TT.TT_Dri, TT.TT_DaGe, TT.TT_DaTa, MA1.MA_Nam, MA1.MA_Vor, MA.MA_Nam, MA.MA_Vor, GR.GR_Bez
FROM GR INNER JOIN ((TT INNER JOIN MA AS MA1 ON TT.MA_KeEr = MA1.MA_Ken) LEFT JOIN MA ON MA.MA_Ken = TT.MA_KeVa) ON GR.GR_Ken = TT.GR_Ken
WHERE (((TT.TT_Num)=$TTNum))
Es funktioniert aber trotzdem nicht!
Liegt es am INNER JOIN?Der sollte aber ab Version 3.23 funktionieren, und ich verwende die 3.23.
Weiß jemand was das Problem ist?
Danke
Kommentar