Announcement

Collapse
No announcement yet.

Problem mit LEFT JOIN

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit LEFT JOIN

    Hallo liebes Forum,

    folgende Ausgangslage:

    Ich möchte 3 Tabellen mit einem "LEFT JOIN" verbinden und die darin enthaltenen Daten abrufen.

    Die Tabellen sind folgendermaßen aufgebaut:

    Tabelle 1 (Beurteilung):
    ID, Kundennummer, Kundenname, Feld 1....Feld n

    Tabelle 2 (Kalkulation):
    ID, Kundennummer, Kundenname, Feld 1....Feld n

    Tabelle 3 (Kunden-Adresstabelle):
    ID, Kundenname, Feld 1....Feld n

    Folgendes Problem:
    Die Daten aus der Tabelle "Kalkulation" werden mit "NULL" vorbelegt, obwohl sich in der Tabelle Werte befinden, die auch für den Kunden unter der abgefragten Kundennummer bestimmt sind.

    Hier der SQL-Code:

    Hinweis: Da in der Adresstabelle lediglich Adressdaten drin stehen, kann ich auch nur die Tabelle 1 mit der Tabelle 3 über den Kundennamen verknüpfen.

    PHP Code:
    SELECT a.kundennra.vorne_rechtsa.vorne_mittea.vorne_linksa.rechte_fahrzeugseitea.fahrzeugdach_vornea.linke_fahrzeugseite
          
    a.hinten_rechtsa.fahrzeugdach_hintena.hinten_linksa.mitte_hintena.schadensherganga.schadenbefunda.altschaden
          
    a.altschaden_im_schadena.behobener_vorschadena.mehrwertsteuera.restwerta.reparaturdauera.kaskoschaden
          
    a.merkantile_wertminderung as MERKANTILE_WERTMINDERUNG_TXTa.nutzungsausfall as NUTZUNGSAUSFALL_TXTa.offensichtlicher_totalschaden
          
    a.wiederbeschaffungswert as WIEDERBESCHAFFUNGSWERT_TXT
          
    b.merk_wertminderung as MERKANTILE_WERTMINDERUNG_WERTb.wiederbearbeitungswert_brutto as WIEDERBESCHAFFUNGSWERT_WERTb.kundenname,  
          
    c.kundennamec.branche_titelc.logoc.firmenadressec.firmenzusatzc.firmennamec.banknamec.inhaberc.blzc.steuernummerc.kontonummer 
    FROM 
    beurteilung 
    as 
    LEFT JOIN kalkulation 
    as b ON a.kundennrb.kundennummer AND a.kundenname b.kundenname
    LEFT JOIN adressen 
    as c ON c.kundenname  a.kundenname 
    WHERE
    a
    .gutachtennr '270108-1560774671' AND 
    a.kundenname 'Firma Test Gbr' 
    Ich habe das Ganze mal unter MS-Access nachgebildet und die oben stehende Abfrage ausgeführt. Sie funktioniert einwandfrei. Allerdings spuckt mir MySQL keine Daten aus der Tabelle "Kalkulation" aus, von den anderen Tabellen erhalte ich aber Daten.

    Ich habe es auch mit kleineren Abfragen unter "PHPMyAdmin" probiert aber mit dem selben Ergebnis.

    Frage:
    Woran kann es liegen das ich nur aus zwei der drei Tabellen Daten erhalte?

    Wäre echt cool wenn mir jemand nen Tip oder nen Hinweis geben könnte.

    Vielen Dank und Grüße aus Köln

  • #2
    Hallo,
    Originally posted by centauro View Post
    ...Woran kann es liegen das ich nur aus zwei der drei Tabellen Daten erhalte?
    Woher soll das jemand wissen ohne die Daten zu kennen? Ich würde mal tippen, dass es in b keinen Datensatz gibt, der die Bedingung a.kundennr= b.kundennummer AND a.kundenname = b.kundenname erfüllt.

    In deiner Tabellenbeschreibung zu Tabelle 1 (Beurteilung) gibt es ein Feld Kundennummer. Abfragen und Verknüpfen tust du aber a.kundennr! Was ist richtig?
    Und bitte beachten: Formatierung von SQL in Beiträgen

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Gelöst!

      Doch, es gibt selbstverständlich einen Datensatz.
      Ich habe das Problem aber auch schon selber gelöst.

      MOD: bitte schliessen!

      Comment


      • #4
        Hallo,
        Originally posted by centauro View Post
        Doch, es gibt selbstverständlich einen Datensatz.
        Ich habe das Problem aber auch schon selber gelöst.

        MOD: bitte schliessen!
        Das ist hier ein öffentliches Forum und jeder der hier Hilfe erwartet sollte sich auch in der Pflicht sehen, die Lösung seines Problems zu posten, wenn er sie selbst gefunden hat! Alles Andere halte ich für hochgradig unfair!

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment

        Working...
        X