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

Left Join mit Bedingung

Hier werden die SQL Grundlagen behandelt...

Left Join mit Bedingung

Beitragvon Hartmut » Fr 31. Mai 2019, 11:32

Ich habe eine Fragestellung, die schnell erklärt ist, für die ich aber keine Lösung finden konnte:
1. Tabelle enthält eine Liste verfügbarer Artikel mit Primärschlüssel
2. Tabelle enthält eine Liste der Artikel/Nutzer Kombinationen.
3. Tabelle enthält eine Liste der Nutzerdaten mit Primärschlüssel und ist mit Tabelle 2 verbunden
Mit „left join“ erhalte ich eine Liste aller Artikel und der jeweiligen Nutzer, es gibt also Zeilen
ohne, mit einem oder mit mehreren Nutzern und natürlich entspricht die Zeilenzahl der Artikel-
zahl zuzüglich der Artikel mit mehreren Nutzern.
Jetzt das Problem:
Ich möchte nach dem Nutzer filtern ohne einen Artikel zu „verlieren“.
Bei zehn Artikeln, von denen drei an den betroffenen Nutzer und einer an zwei Nutzer gebunden
ist, erhalte ich folgende Ergebnisse:
Ohne Filter : 11 Zeilen (durch die zwei Nutzer)
Filter nach DEM Nutzer : 3 Zeilen, nur jene, die mit dem gewählten Nutzer verbunden sind
Filter zusätzlich nach leeren Zeilen : 9 Zeilen, aber nicht den doppelt verbundenen Artikel
Was ich benötige, dürfte klar sein, 10 Zeilen und darunter 3 mit DEM Nutzer.

Ich hoffe, das mir hier jemand den entscheidenden Tip geben kann.
Vielen Dank.
Hartmut
 
Beiträge: 3
Registriert: Fr 31. Mai 2019, 11:02

Re: Left Join mit Bedingung

Beitragvon Hartmut » Fr 31. Mai 2019, 11:57

Ich versuche mal, ein paar Daten zu meiner Frage zu präsentieren:
Dateianhänge
5BA64417-E29B-45D3-A7BA-87E05FBA78D1.jpeg
Etwas zur Visualisierung
Hartmut
 
Beiträge: 3
Registriert: Fr 31. Mai 2019, 11:02

Re: Left Join mit Bedingung

Beitragvon Hartmut » Sa 1. Jun 2019, 11:29

Dieser Code funktioniert leider nicht:

$Befehl = "select E.* from Einzelteile E
left join (select S.* from Sammlungen S inner join Sammler C on S.Sammler = C.IDSammler where C.Passwort = '$SammlerPasswort')
on S.Artikel = E.IDListe
where $Bedingung";
Hartmut
 
Beiträge: 3
Registriert: Fr 31. Mai 2019, 11:02

Re: Left Join mit Bedingung

Beitragvon SQLUnion » Sa 22. Jun 2019, 14:50

Hallo Hartmut,

warum verwendest Du ein Subselect, wenn Du schon am Joinen bist?
Wenn Du Bedingungen in einem Left Join einbauen willst, dann musst Du ein AND in der ON-Klausel hinzufügen.

Gruß,
SQLUnion
SQLUnion
 
Beiträge: 198
Registriert: Fr 1. Nov 2013, 15:54


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: