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, 7760 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
SQL - Mehrere Tabellen über JOINS verketten (1)

Frage von Gwahlers zum Thema Datenbanken ...

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
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (9)

Frage von D-Line zum Thema Microsoft Office ...