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

Abfrage, LEFT JOIN mit mehreren Tabellen

Frage Microsoft Microsoft Office

Mitglied: etnobommel1989

etnobommel1989 (Level 1) - Jetzt verbinden

21.05.2010, aktualisiert 08:23 Uhr, 13565 Aufrufe, 4 Kommentare

Version: Access 2000 Problem: Mehrere Tabellen mittels LEFT JOIN verknüpfen
Ausgangssituation: Tabelle?:Tabellenname--->Feldname1,Feldname2
Tabelle1: Inventarnummer--->Inventarnummer
Tabelle2: PC--->PC_ID,Inventarnummer, PC_Name, OS, HDD, RAM, Prozessor
Tabelle3:Monitor--->Monitor_ID,Inventarnummer, Größe, Art, Preis, Kaufdatum
Tabelle4:Drucker---->Drucker_ID,Inventarnummer, Art, Toner, Preis, Kaufdatum
Tabelle5:Switch--->Switch_ID, Inventarnummer, Preis, Kaufdatum

Hey Leute,

meine Frage dazu ist:

Wie kann ich Tabelle 2-5 mittels LEFT JOIN in Abhängigkeit von Tabelle 1 verknüpfen? Also ich will das jede Inventarnummer angezeigt wird, auch wenn die Inventarnummer noch nicht vergeben ist und kein Gerät diese Inventarnummer besitzt.
Falls dies nicht funktioniert würde ich mich freuen das Ihr mir das auch schreibt.

Mein Quelltext wie es vom Prinzip her sein soll:


SELECT [Inventarnummer].[Inventarnummer], [PC].[Inventarnummer], [Monitor].[Inventarnummer],Drucker.Inventarnummer, Switch.Inventarnummer (In die SELECT Anweisung soll noch mehr rein, dient nur als Beispiel)
FROM Inventarnummer
LEFT JOIN PC ON [Inventarnummer].[Inventarnummer]=[PC].[Inventarnummer]
LEFT JOIN Monitor ON [Inventarnummer].[Inventarnummer]=[Monitor].[Inventarnummer]
LEFT JOIN Drucker ON [Inventarnummer].[Inventarnummer]=[Drucker].[Inventarnummer]
LEFT JOIN Switch ON [Inventarnummer].[Inventarnummer]=[Switch].[Inventarnummer];

Irgendwie geht des net, ich hab aber keinen Plan

Vielen Dank
Mitglied: etnobommel1989
21.05.2010 um 09:30 Uhr
Gut habs jetzt selbst gelöst, hab ein paar Klammern vergessen

SELECT [Inventarnummer].[Inventarnummer], [PC].[Inventarnummer], [Monitor].[Inventarnummer],Drucker.Inventarnummer, Switch.Inventarnummer
FROM ((((Inventarnummer
LEFT JOIN PC ON [Inventarnummer].[Inventarnummer]=[PC].[Inventarnummer])
LEFT JOIN Monitor ON [Inventarnummer].[Inventarnummer]=[Monitor].[Inventarnummer])
LEFT JOIN Drucker ON [Inventarnummer].[Inventarnummer]=[Drucker].[Inventarnummer])
LEFT JOIN Switch ON [Inventarnummer].[Inventarnummer]=[Switch].[Inventarnummer]);

Aber trotzdem Danke
Bitte warten ..
Mitglied: problemsolver
21.05.2010 um 09:51 Uhr
Hallo

schön, dass Du eine Lösung für Dich gefunden hast und diese hier mitteilst.
Aber deine Tabellen sind sicherlich noch verbesserungswürdig.

Ich kann Dir folgenden Link bei Wikipedia empfehlen:
http://de.wikipedia.org/wiki/Normalisierung_%28Datenbank%29

Bei Interesse einfach mal reinschauen!
Ansonsten weiter so!!!

Gruß

Makrus
Bitte warten ..
Mitglied: etnobommel1989
21.05.2010 um 10:50 Uhr
Ja vielen Dank für deinen Link, aber glaub mir das Schema war vorher noch chaotischer und es ging nix zu realisieren. So wie es jetzt ist, ist es am Besten. Es ist bei uns auch beschissen das nicht jedes Gerät eine eigene Inventarnummer hat, sondern Monitor, PC, Drucker zu einer zusammengefasst werden. Hingegen haben größere Drucker, wie Netzwerkdrucker wiederum eine eigene Nummer. Aber dafür kann ich nix.Das hab ich mir nicht ausgedacht. Mir wurde nur gesagt ich soll das machen, aber wie ist egal, hauptsache es klappt.

Da wir vor kurzen, des mit der Normalisierung erst in der Schule gehabt haben, hab ich das bei dieser Datenbank so weit es ging angewendet, aber einfacher geht Sie jetzt wirklich nicht mehr. Glaub mir.
Am einfachsten wäre es gewesen wenn jedes Gerät eine eigene Nummer hätte.
Tja aber des hab ich nicht zu bestimmen. Bin hier nur Lehrling.


Trotzdem Danke
Bitte warten ..
Mitglied: problemsolver
21.05.2010 um 16:38 Uhr
Gern geschehen,

ich könnte dir den Tipp geben, die Inventarnummer zu splitten. Dementsprechend würde für
das Komplettsystem mit allem drum und dran die Inventarnummer 12345 gelten.
Für die Einzelkomponenten dann 12345-1, 12345-2, 12345-3.

Neues Inventar würde man dann automatisch korrekt aufbauen. Somit könntest Du -mit anfänglichem Aufwand- dann trennen. Der einzige "Nachteil" ist, dass du kein rein Numerisches Feld mehr besitzt, dass du inkrementieren kannst....

Nur so als Anreiz... wie man es löst ist egal. Hauptsache es funktioniert.

Noch weiterhin viel Erfolg

Gruß

Markus
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx 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
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

iOS
16 iPads zentrall verwalten (14)

Frage von simonlohr zum Thema iOS ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...