Inner Join über mehrere Tabellen in zwei Richtungen
Ich möchte eine Select-Abfrage über mehrere Tabellen hinweg realisieren.
Ich beschäftige mich seit kurzem wieder einmal mit Access.
Ich habe mir zum Test eine kleine Datenbank mit folgender Struktur gebaut:
Meine Abfrage soll folgendes beinhalten:
Meine Abfrage in eine Richtung (Master -> Stadt -> Bundesland) funktioniert problemlos:
Nun möchte ich die Tabelle User auch mit in die Abfrage einbeziehen, sodass ich ingesamt alle Informationen habe.
Es fehlt also noch ein Inner Join in Richtung der Tabelle User. Leider gelingt mir das nicht.
Könnte mir jemand evtl. nen Hinweis geben?!
Ich beschäftige mich seit kurzem wieder einmal mit Access.
Ich habe mir zum Test eine kleine Datenbank mit folgender Struktur gebaut:
Meine Abfrage soll folgendes beinhalten:
- Aus Master:
- Vorname
- Nachname
- Telefon
- Aus Stadt
- Stadt
- PLZ
- Aus Bundesland
- Bundesland
- Aus User
- Usertyp
- Berechtigungen
Meine Abfrage in eine Richtung (Master -> Stadt -> Bundesland) funktioniert problemlos:
SELECT Master.Vorname, Master.Nachname, Master.Telefon, Stadt.Stadt, Stadt.PLZ, Bundesland.Bundesland, User.Usertyp, User.Berechtigungen
From Master
INNER JOIN (Stadt
INNER JOIN Bundesland
ON Stadt.bundesland_id = Bundesland.ID)
ON Master.stadt_id = Stadt.ID;
Nun möchte ich die Tabelle User auch mit in die Abfrage einbeziehen, sodass ich ingesamt alle Informationen habe.
Es fehlt also noch ein Inner Join in Richtung der Tabelle User. Leider gelingt mir das nicht.
Könnte mir jemand evtl. nen Hinweis geben?!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 140685
Url: https://administrator.de/forum/inner-join-ueber-mehrere-tabellen-in-zwei-richtungen-140685.html
Ausgedruckt am: 22.12.2024 um 16:12 Uhr
5 Kommentare
Neuester Kommentar
Leider gelingt mir das nicht.
Wieso? SQL Syntax Fehlermeldung, Fehlermeldung bei Ausführung der Abfrage oder schlichtweg keine Ahnung was man tun muß?Mein Access wirft aus dem Abfrage Designer folgendes aus, wenn man es ausprobiert:
SELECT Master.Vorname, Master.Nachname, Stadt.Stadt, Stadt.PLZ, Bundesland.Bundesland, User.Usertyp, User.berechtigungen
FROM ((Master INNER JOIN Stadt ON Master.Stadt_id = Stadt.ID) INNER JOIN [User] ON Master.user_id = User.ID) INNER JOIN Bundesland ON Stadt.bundesland_id = Bundesland.ID;
Accesss macht gerne mal eckige Klammern um Tabellenfelder.
Im Normalfall sind sie nicht nötig, manchmal braucht man sie, damit Access weiß, das es kein Parameter oder Funktion ist sondern ein Tabellenfeld.
In diesem Fall gehts auch ohne Klammern, wieso der Assistent dort Klammern eingesetzt hat weiß nur MS.
Im Normalfall sind sie nicht nötig, manchmal braucht man sie, damit Access weiß, das es kein Parameter oder Funktion ist sondern ein Tabellenfeld.
In diesem Fall gehts auch ohne Klammern, wieso der Assistent dort Klammern eingesetzt hat weiß nur MS.
Moin TheToxic,
Eine Liste der in Access revervierten Wörte dürfte auszugsweise so aussehen:
wie auch ein Blick auf List of reserved words in Access 2002 and in later versions of Access bestätigt.
Okay, in der deutschen Übersetzung fehlt das eine oder andere Schlüsselwort, unter anderm USER....
Aber dann kannst du ja noch immer hier im Forum fragen.
Grüße
Biber
P.S.
Und alle Biber mit einem gewissen Einfühlungsvermögen.
. Mich wundert blos das die Tabelle User in eckigen Klammern gehalten ist. Weiss jemand warum?
Dazu brauchst nur versuchen, dich in Redmonder PraktikantInnenhirne hineinzuversetzen.Eine Liste der in Access revervierten Wörte dürfte auszugsweise so aussehen:
.....
TRUE
Type
-U
UNION
UNIQUE
UPDATE
USER ------------------------------------> gugge ma!
-V
VALUE
VALUES
Var, VarP
VARBINARY, VARCHAR
VERSION
-W
...
Okay, in der deutschen Übersetzung fehlt das eine oder andere Schlüsselwort, unter anderm USER....
Aber dann kannst du ja noch immer hier im Forum fragen.
- Reservierte Worte (so z.B. auch "Month" oder "Datum" als Feld- oder Tabellennamen) sowie
- Feld-/Tabellennamen mit "Leerzeichen im Namen"
- sowie Parameter in Queries
Grüße
Biber
P.S.
Und alle Biber mit einem gewissen Einfühlungsvermögen.