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.
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
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.kundennr, a.vorne_rechts, a.vorne_mitte, a.vorne_links, a.rechte_fahrzeugseite, a.fahrzeugdach_vorne, a.linke_fahrzeugseite,
a.hinten_rechts, a.fahrzeugdach_hinten, a.hinten_links, a.mitte_hinten, a.schadenshergang, a.schadenbefund, a.altschaden,
a.altschaden_im_schaden, a.behobener_vorschaden, a.mehrwertsteuer, a.restwert, a.reparaturdauer, a.kaskoschaden,
a.merkantile_wertminderung as MERKANTILE_WERTMINDERUNG_TXT, a.nutzungsausfall as NUTZUNGSAUSFALL_TXT, a.offensichtlicher_totalschaden,
a.wiederbeschaffungswert as WIEDERBESCHAFFUNGSWERT_TXT,
b.merk_wertminderung as MERKANTILE_WERTMINDERUNG_WERT, b.wiederbearbeitungswert_brutto as WIEDERBESCHAFFUNGSWERT_WERT, b.kundenname,
c.kundenname, c.branche_titel, c.logo, c.firmenadresse, c.firmenzusatz, c.firmenname, c.bankname, c.inhaber, c.blz, c.steuernummer, c.kontonummer
FROM
beurteilung as a
LEFT JOIN kalkulation as b ON a.kundennr= b.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 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
Comment