phpbar.de logo

Mailinglisten-Archive

[php] Hilfe: Veschachtelte Joins

[php] Hilfe: Veschachtelte Joins

hwittmer_(at)_web-click.de hwittmer_(at)_web-click.de
Fri, 7 Jul 2000 16:49:44 +0200


Hallo,

ich habe da ein laengeres Problem mit dem "JOIN" bei der MySQL-Abfrage.
Zuerst konnte ich es umgehen. Doch nun komme ich nicht drum herum:

Weiss jemand, ob MySQL verschachtelte Joins erlaubt?

wie z.B.

select * from ( ... left join ... on ...=... ) left join ( ... left join .. on ...=...) on ...=...

MySQL meldet immer einen Syntaxfehler ab der zweiten Klammer: You have an error in your SQL syntax near '(... left join  ... on ... = ... ) on ..' at line 1

Ich habe z.B. herausgefunden, das folgender Join erlaubt ist:

select * from ( ... left join ... on ...=... ) left join  ...  on ..=...

Wieso auch immer?

Vielleicht habe ich auch einen Syntaxfehler. Daher hier mein Besipiel (etw. komplex, sorry):

select *
from
(ST_HPTNAV left join ST_NAV on ST_HPTNAV.ST_HPTNAV_ID =
ST_NAV.ST_HPTNAV_ID)
left join
(ST_C left join ST_NAVLINK on ST_C.ST_C_ID = ST_NAVLINK.ST_C_ID)
on ST_NAV.ST_NAV_ID = ST_NAVLINK.ST_NAV_ID

Alle eingeklammerten Joins als Einzelabfragen funktionieren und liefern die gemeinsammen Werte, die fuer die oben aufgeführte Abfrage (im Join) notwendig sind.

Die Fehlermeldung:

MySQL meldet: You have an error in your SQL syntax near '(ST_C left join ST_NAVLINK on ST_C.ST_C_ID = ST_NAVLINK.ST_C_ID) on 
ST_NAV.ST_NA' at line 1

Ich hoffe, dass mir hier jemand weiterhelfen kann.

Vielen Dank

Heinrich


php::bar PHP Wiki   -   Listenarchive