Anzeige

Join Abfrage MySQL

#1
Hallo an Alle.
In einer übernommenen Datenbank habe ich wie üblich mehrere Tabellen.
1. Tabelle Namens kundendaten besteht aus folgenden Spalten:
  • Kunden_ID - auto inc. Prim.Key
  • KundenNr
  • KundenName
  • KundenName2
2. Tabelle Names eadressen besteht aus folgenden Spalten und Werten:
  • ID = Kundennummer zzgl. eines MatchCodes zb. 3285Freund
  • EName1
  • EName2
3. Tabelle empf_adressen , welche als neue Empänger Andressen-Tabelle fungieren soll:
  • Empf_ID - auto inc. Prim.Key
  • Kunden_ID - Kunden_ID aus kundendaten
  • EName1 - soll aus eadressen kopiert werden
  • EName2 - soll aus eadressen kopiert werden
Bei der Abfrage erhalte ich zwar schön die Empfänger Adresse aus eadressen, aber NULL werte bei KundenNr und Co.
SQL:
SELECT
  *
FROM
  eadressen
LEFT JOIN
  kundendaten ON kundendaten.KundenNr = eadressen.ID
WHERE eadressen.ID LIKE '%3285%';
 

merzi86

Erfahrenes Mitglied
#2
Du bekommst keine KundenNr usw. angezeigt, da er probiert in die Kudendaten über die KundenNr zu joinen, aber die KundenNr ist ja nicht genauso wie die ID in eadressen.
Dadurch das bei der ID noch ein MatchCode angehanden ist, ist aber die ID nicht genauso wie die Kundennummer.

Du muss wenn das Join über ein Like durchführen.
so z.B.
SQL:
SELECT
  *
FROM
  eadressen
LEFT JOIN
  kundendaten ON concat(kundendaten.KundenNr, '%' ) like eadressen.ID
WHERE eadressen.ID LIKE '%3285%';
 
#3
Ich entschuldige meine verspätete Rückmeldung. Ich danke merzi86 erst einmal für die Erläuterung. Jedoch komme ich auf Grund des MatchCodes mit dem Join nicht weiter, so dass mein Gedanke dahin weiter geht, alles in sep. Abfragen zu packen.
 
Anzeige

Neue Beiträge

Anzeige