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, 7634 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 SQL ORDER BY und Join mit 2 Tabellen (6)

Frage von Dipps zum Thema Datenbanken ...

Sicherheits-Tools
Sicherheitstest von Passwörtern für ganze DB-Tabellen (1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (20)

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