Smello: JOIN Problem

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

  1. 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

    1. Phu, keine Ahnung was Subqueries sind :)

      Ich habe glaube ich mysql 3.23.43 oder so.

      1. 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

        1. 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

  2. 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!