List:German« Previous MessageNext Message »
From:Dennis Sterzenbach Date:July 14 2003 1:55pm
Subject:RE: JOIN-Problem
View as plain text  
Hi,

ich würde es mal mit INNER JOIN probieren. Der liefert nur die Datensätze, wo in beiden Tabellen Übereinstimmungen auftauchen.


MfG 
  Dennis

-----Original Message-----
From: Felix Ostmann [mailto:ostmann@stripped]
Sent: Montag, 14. Juli 2003 15:32
To: MySQL-Mailingliste dt.
Subject: JOIN-Problem


"Wenn es für die rechte Tabelle keinen übereinstimmenden Datensatz im ON- oder USING-Teil eines LEFT JOIN gibt, wird für die rechte Tabelle eine Zeile benutzt, in der alle Spalten auf NULL gesetzt sind. Das können Sie benutzen, um Datensätze in einer Tabelle herauszusuchen, die in einer anderen Tabelle kein Gegenstück haben: "

eigentlich ne dolle Sache, nur habe ich, bzw. nen Arbeitskolege das Problem, das wenn kein übereinstimmender Datensatz gefunden wird und wir die Daten per hashref abrufen logischerweise dann die USING-bedingungen als NULL zurückbekommen, da die Werte die als letztes eingelesen werden ja NULL sind.

Sprich wir haben zwei Tabellen die über USING(artikelnr) verbunden sind und es gibt keinen passenden Eintrag in der zweiten Tabelle, dann wird im Ergebnis artikelnr als NULL zurückgegeben. Es gibt zwar verschiedene Varianten das zu unterbinden indem man explizit die Feldnamen angibt der zweiten Tabelle oder mit einem array arbeitet, aber wir suchen halt irgendwie nach der Möglichkeit weiter mit hashref arbeiten zu können ohne explizit alle Tabellenfelder angeben zu müssen (wenn es 300 sind z.b. dürfe es nicht wirklich effektiv sein wenn man alle haben will). Also wir suchen sowas wie: fülle mir die erste Tabelle mit den Daten aus der zweiten Tabelle auf sofern Daten aus der zweiten Tabelle vorhanden sind.

MfG
Felix Ostmann
Thread
JOIN-ProblemFelix Ostmann14 Jul
  • RE: JOIN-ProblemDennis Sterzenbach14 Jul
RE: JOIN-ProblemMike Beck14 Jul
RE: JOIN-ProblemFelix Ostmann14 Jul
  • Re: JOIN-ProblemGeorg Richter14 Jul