Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Inner Join über mehrere Tabellen in zwei Richtungen

Frage Entwicklung Datenbanken

Mitglied: TheToxic

TheToxic (Level 1) - Jetzt verbinden

15.04.2010 um 09:19 Uhr, 7683 Aufrufe, 5 Kommentare

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:
b7ee9effeffee8f46200189d3e426d2c - Klicke auf das Bild, um es zu vergrößern

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:
01.
SELECT Master.Vorname, Master.Nachname, Master.Telefon, Stadt.Stadt, Stadt.PLZ, Bundesland.Bundesland, User.Usertyp, User.Berechtigungen 
02.
From Master  
03.
INNER JOIN (Stadt 
04.
    INNER JOIN Bundesland 
05.
    ON Stadt.bundesland_id = Bundesland.ID) 
06.
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?!
Mitglied: AndreasHoster
15.04.2010 um 09:59 Uhr
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;
Bitte warten ..
Mitglied: TheToxic
15.04.2010 um 12:11 Uhr
ok, danke für den Hinweis mit dem Assistenten.

Ich wollte den Syntax selbst erarbeiten. Mich wundert blos das die Tabelle User in eckigen Klammern gehalten ist. Weiss jemand warum?
Bitte warten ..
Mitglied: AndreasHoster
15.04.2010 um 13:40 Uhr
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.
Bitte warten ..
Mitglied: Biber
15.04.2010 um 15:42 Uhr
Moin TheToxic,

. 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 
...
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.

  • Reservierte Worte (so z.B. auch "Month" oder "Datum" als Feld- oder Tabellennamen) sowie
  • Feld-/Tabellennamen mit "Leerzeichen im Namen"
  • sowie Parameter in Queries
müssen immer in eckige Klammern.

Grüße
Biber

P.S.
Zitat von AndreasHoster:
----
... wieso der Assistent dort Klammern eingesetzt hat weiß nur MS.
Und alle Biber mit einem gewissen Einfühlungsvermögen.
Bitte warten ..
Mitglied: TheToxic
16.04.2010 um 07:59 Uhr
Vielen Dank für die überaus hilfreiche Antwort. *daumen hoch*
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst Join über drei Tabellen (5)

Frage von Kimaro zum Thema Datenbanken ...

Datenbanken
gelöst SQL ORDER BY und Join mit 2 Tabellen (7)

Frage von Dipps zum Thema Datenbanken ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...