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, 12931 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
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

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

Frage von Aximand zum Thema Datenbanken ...

LAN, WAN, Wireless
gelöst 1 Port in mehreren VLANs? (7)

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

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Batch & Shell
gelöst PowerShell Domain Join (2)

Frage von Patrick-IT zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...