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, 13191 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 ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

Datenbanken
gelöst Schleifen in SQL-Abfrage bei 2 Tabellen (2)

Frage von Aximand zum Thema Datenbanken ...

Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst SMB 3.x, Multichannel mit mehreren Netzwerkkarten - Verständnisfrage (3)

Frage von mcGeorge zum Thema Windows Server ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...