JOIN Problem
Smello
- datenbank
0 Philipp Hasenfratz0 Smello
0 TomIRL
Hallo,
ich habe eine Tabelle tabelle1, in der Zahlen mit jeweils einer ID stehen. Diese ID ist UNIQUE.
Jetzt möchte ich mit LEFT JOIN aus einer anderen Tabelle tabelle2 zugehörige Daten auslesen und zwar mit tabelle1.ID = tabelle2.ID
Das Problem hier ist, dass die ID in tabelle2 nicht UNIQUE ist und ich somit mehrere Datensätze zurückbekomme. Ich brauche aber nur einen und zwar den mit der niedrigsten ID2. Also irgendwie müsste ich ein LEFT JOIN tabelle2 ON tabelle2.ID = tabelle1.ID machen wo die tabelle2.ID2 am kleinsten ist.
Ich hoffe ich konnte es etwas verständlich erklären, ich kenne mich ja schons elbst fast nicht mehr aus :)
Danke für eure Hilfe
Smello
Halihallo Smello
Das Problem hier ist, dass die ID in tabelle2 nicht UNIQUE ist und ich somit mehrere Datensätze zurückbekomme.
Ist dies wirklich der Fall? - Hast du z. T. wirklich zweimal dieselbe ID in der
Tabelle2?
Ich brauche aber nur einen und zwar den mit der niedrigsten ID2. Also irgendwie müsste ich ein LEFT JOIN tabelle2 ON tabelle2.ID = tabelle1.ID machen wo die tabelle2.ID2 am kleinsten ist.
Das geht nicht über LEFT JOIN, dazu bräuchtest du Subqueries, ob deine Datenbank dies
unterstützt weiss ich mangels Information deinerseits nicht.
Viele Grüsse
Philipp
Phu, keine Ahnung was Subqueries sind :)
Ich habe glaube ich mysql 3.23.43 oder so.
Halihallo Smello
Phu, keine Ahnung was Subqueries sind :)
Unterabfragen? - Ein Query in einem Query ist ein Subquery.
Ich habe glaube ich mysql 3.23.43 oder so.
Tja, dann is nix Subqueries. Dein Problem lässt sich somit nicht in einem Query lösen,
es sei denn du kannst Kompromisse eingehen. Wenn du Zugriff und Wissen über eine
Programmiersprache hast, kannst du es mit den Vorschlägen von TomIRL versuchen.
Viele Grüsse
Philipp
Hallo Philipp,
Stimmt er hatte gar nichts über PHP geschrieben.
Kommt davon wenn man die Augen vor der Eigentlichen Fragestellung verschließt.
Stell mich ja schon in die virtuelle Ecke..
Viele Grüße aus Berlin
Vorab ein kleiner Hinweis:
An Deine SQL ABfrage "ORDER by ID2" ranhängen.
Dann trenne Dich von der selection über den Join.
Vielmehr probiere es übe die Ausgabe zu steuern:
Sieht dann ao aus:
$zeile = mysql_fetch_array($zeilen)){
print("$zeile[ID]")}
Hoffe es hilft!
Tom
Sonst noch einmal melden!