2x Left outer join

23/10/2007 - 08:01 von Nju | Report spam
Hallo,
ich habe eine Frage zu folgendem Problem:

Ich habe zwei Tabellen, die eine Tabelle mit Stammdaten, wie Bezeichnung,
eindeutige Nummer, Bankleitzahl, etc, nennen wir diese "Tabelle_Stamm", die
zweite besteht aus der Anschrift, nennen wir diese Tabelle
"Tabelle_Anschrift". Die Datensàtze der Tabelle_Anschrift können anhand der
eindeutigen Nummer den Datensàtzen der Tabelle_Stamm zugeordnet werden, zudem
kennzeichnet der jeweilige Datensatz in der Tabelle_Anschrift, ein Feld
namens "Art", ob es sich um eine normale Postanschrift, Postfach oder
Großlieferantenanschrift handelt.

Aktueller Stand:
Den SQL-Befehl konnte ich nun festmachen und stecke nun bei folgendem Befehl
fest, der mir die Fehlermeldung 'Syntaxfehler (fehlender Operator) in
Abfrageausdruck ".' ausgibt:

SELECT S.*, K.*, L.*
FROM Tabelle_Stamm S
LEFT OUTER JOIN Tabelle_Anschrift K ON S.Nummer = K.Nummer AND S.Verband =
K.Verband AND L.Art = "1"
LEFT OUTER JOIN Tabelle_Anschrift L ON S.Nummer = L.Nummer AND S.Verband =
L.Verband AND L.Art = "2"
WHERE S.Nummer = "10" AND S.Verband = "Hauptnehmer"

Ich habe auch etwas rumgespielt und erstmal die zweite Left Outer
Join-Abfrage ausgelassen und erhalte ebenfalls eine Fehlermeldung, wenn ich
nicht nach dem ON bis hinter "1" das in Klammern setze. Mit Klammer komme ich
zu einem Ergebnis.
Aber mit einem zweiten LEFT OUTER JOIN komme ich gar nicht mehr weiter.
Woran kann das liegen, dass er mein zweites LEFT OUTER JOIN gar nicht will
und die oben beschriebene Fehlermeldung generiert wird?
 

Lesen sie die antworten

#1 Thomas Möller
23/10/2007 - 08:46 | Warnen spam
Hallo!

"Nju" schrieb im Newsbeitrag
news:
Ich habe zwei Tabellen, die eine Tabelle mit Stammdaten, wie Bezeichnung,
eindeutige Nummer, Bankleitzahl, etc, nennen wir diese "Tabelle_Stamm",


die
zweite besteht aus der Anschrift, nennen wir diese Tabelle
"Tabelle_Anschrift". Die Datensàtze der Tabelle_Anschrift können anhand


der
eindeutigen Nummer den Datensàtzen der Tabelle_Stamm zugeordnet werden,


zudem
kennzeichnet der jeweilige Datensatz in der Tabelle_Anschrift, ein Feld
namens "Art", ob es sich um eine normale Postanschrift, Postfach oder
Großlieferantenanschrift handelt.

Aktueller Stand:
Den SQL-Befehl konnte ich nun festmachen und stecke nun bei folgendem


Befehl
fest, der mir die Fehlermeldung 'Syntaxfehler (fehlender Operator) in
Abfrageausdruck ".' ausgibt:

SELECT S.*, K.*, L.*
FROM Tabelle_Stamm S
LEFT OUTER JOIN Tabelle_Anschrift K ON S.Nummer = K.Nummer AND S.Verband > K.Verband AND L.Art = "1"
LEFT OUTER JOIN Tabelle_Anschrift L ON S.Nummer = L.Nummer AND S.Verband
L.Verband AND L.Art = "2"
WHERE S.Nummer = "10" AND S.Verband = "Hauptnehmer"

Ich habe auch etwas rumgespielt und erstmal die zweite Left Outer
Join-Abfrage ausgelassen und erhalte ebenfalls eine Fehlermeldung, wenn


ich
nicht nach dem ON bis hinter "1" das in Klammern setze. Mit Klammer komme


ich
zu einem Ergebnis.
Aber mit einem zweiten LEFT OUTER JOIN komme ich gar nicht mehr weiter.
Woran kann das liegen, dass er mein zweites LEFT OUTER JOIN gar nicht will
und die oben beschriebene Fehlermeldung generiert wird?



In dieser NG ist es üblich seinen vollen Realnamen (Vor- und Zuname)
anzugeben. Danke!

IMHO liegt es an der fehlenden Klammersetzung.
Erstell Dir die Abfrage mal mit dem Query-Editor und schau Dir nachher den
SQL-String an.

HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen