Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Join bestehend aus mehreren Tabellen

Hier werden die SQL Grundlagen behandelt...

Join bestehend aus mehreren Tabellen

Beitragvon Sludy » Do 21. Feb 2019, 22:57

Hallo zusammen,

ich habe ein Problem. Ich habe mehrere Tabellen (Tabelle 1, Tabelle 2, Tabelle 3, Tabelle 4, Tabelle 5 und Tabelle 6).

Tabelle 1 ist meine "Main"-Tabelle. Hier stehen eine Vielzahl an Materialnummern drin
Tabelle 2 enthält z. B. zukünftigen Bestellungsnummern zu allen Materialien
Tabelle 3 enthält die Materialbezeichnung zu allen Materialien
Tabelle 4 enthält den Einkaufsinfosatz zum Material (zum Auslesen der Lieferantennummer zum Material)
Tabelle 5 enthält die Einkaufsorganisationsdaten zum Einkaufsinfosatz (zum Auslesen des Löschkennzeichens zum Einkaufsinfosatz)
Tabelle 6 enthält den Lieferantennamen zur Lieferantennummer

Ich möchte nun alle Materialien aus Tabelle 1 auslesen. Dazu möchte ich pro Material alle zukünftigen Bestellungen angezeigt bekommen (Tabelle 2). Weiterhin möchte ich zu jedem Material auch die Materialbezeichnung ausgegeben haben (Tabelle 3). Zusätzlich möchte ich den Lieferanten wissen, durch den ich mit diesem Material beliefert werden (Tabelle 4). Dabei ist mir wichtig, dass ich nicht alle möglichen Lieferanten angezeigt bekomme, die zu dem Material angelegt sind, sondern nur die, die nicht mit einem Löschkennzeichen versehen sind. Zum Schluss möchte ich natürlich auch die Bezeichnung des Lieferanten wissen (Tabelle 6).

So sieht aktuell dazu mein Code aus:
Code: Alles auswählen
Select A.MATNR, B.BESNR, C.MAKTX, D.LIFNR, F.LIFTX From Tabelle1 A
Left Join Tabelle2 B ON A.MATNR = B.MATNR
Left Join Tabelle3 C ON A.MATNR = C.MATNR
Left Join Tabelle4 D ON A.MATNR = D.MATNR
Left Join Tabelle5 E ON D.INFNR = E.INFNR
Left Join Tabelle6 F ON D.LIFNR = F.LIFNR
WHERE E.LOEKZ <> 'X'

MATNR = Materialnummer
INFNR = Infosatznummer
LIFNR = Lieferantennummer
LOEKZ = Löschkennzeichen

Tabelle 1 ist meine Ausgangstabelle. Diese ist separat verbunden mit Tabelle 2 um die Bestellungen dem Material zuzuordnen, mit Tabelle 3 um die Materialbezeichnung dem Material zuzuordnen und mit Tabelle 4 um dem Material alle angelegten Lieferanten zuzuordnen. Die Tabelle 4 ist weiter mit der Tabelle 5 verknüpft über die Infosatznummer, um nur die Lieferanten auszugeben, die nicht mit dem Löschkennzeichen "X" versehen sind.Weiterhin ist die Tabelle 4 mit der Tabelle 6 verknüpft, um der Lieferantennummer eine Lieferantenbezeichnung zuzuordnen.

Habe ich demnach den SQL Code richtig erstellt? Ist die Verknüpfung mit den Left Join so in Ordnung / richtig? Durch dem "ON" müsste ich ja die Tabellen wie oben gewünscht korrekt verknüpft haben oder?

Ich hoffe ihr könnt mir helfen / meine Unsicherheit nehmen / mich korrigieren?

Beste Grüße
Sludy
Sludy
 
Beiträge: 1
Registriert: Do 21. Feb 2019, 22:24

Zurück zu SQL Grundlagen

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: