Voodoo: mySQL: DISTINCT und überhaupt

Nabend,

in meiner Verzweiflung wende ich mich schließlich an euch

Also, ich habe 2 Tabellen:

Tabelle 1
Code:

--------------
| id | title |
--------------
|  1 | Bla   |
|  2 | Bla2  |

Tabelle 2
Code:

-----------------------------------
| id | fid | date   | title       |
-----------------------------------
|  1 |  1  | 143456 | Hier und so |
|  2 |  1  | 435868 | Bdlllaaa    |
|  3 |  2  | 322455 | ... Aja     |
|  4 |  2  | 012343 | Hmpfa!      |

Tabelle1.id und Tabelle2.fid sind verknüpft. Oder sollten es bei der Abfrage werden.
Und jetzt suche ich für jede id der Tabelle1 EINEN Datensatz aus Tabelle2, der im Vergleich zu anderen Datensätzen in Tabelle 2 mit der gleichen fid, den höchsten Wert im Feld date hat.

Optimal wäre also folgendes Ergebnis:
Code:

-----------------------------------
| id | fid | date   | title       |
-----------------------------------
|  2 |  1  | 435868 | Bdlllaaa    |
|  3 |  2  | 322455 | ... Aja     |

Ich komme einfach auf keine passende Idee.
Hat jemand evtl. einen Lösungsansatz?

Hoffende Grüße
Voodoo

  1. Hallo,

    mit DISTINCT läßt sich Dein Problem auch nicht im Ansatz lösen.
    mit Voodoo sollte es gehen, auch wenn ich mich damit nicht auskenne :-)

    Also, ich habe 2 Tabellen:
    Tabelle 1


    | id | title |

    |  1 | Bla   |
    |  2 | Bla2  |

    Tabelle 2


    | id | fid | date   | title       |

    |  1 |  1  | 143456 | Hier und so |
    |  2 |  1  | 435868 | Bdlllaaa    |
    |  3 |  2  | 322455 | ... Aja     |
    |  4 |  2  | 012343 | Hmpfa!      |

    Und jetzt suche ich für jede id der Tabelle1 EINEN Datensatz aus Tabelle2, der im Vergleich zu anderen Datensätzen in Tabelle 2 mit der gleichen fid, den höchsten Wert im Feld date hat.

    Optimal wäre also folgendes Ergebnis:
    Code:


    | id | fid | date   | title       |

    |  2 |  1  | 435868 | Bdlllaaa    |
    |  3 |  2  | 322455 | ... Aja     |

    Zu diesem Standardproblem gibt es massenhaft Antworten im Archiv.
    Die Lösung heißt korrelierte Unterabfrage, wobei die "Ausgangstabelle"
    ein einfacher INNER JOIN Deiner beiden Ausgangstabellen ist.

    Ach ja: MySQL 4.1 und neuer ist Voraussetzung.

    Freundliche Grüße

    Vinzenz

    1. Vielen Dank Vinzenz!

      Die Suche im Archiv ist eben ein wenig schwerfällig, wenn man nicht weiß, wie genau der Lösungsansatz heißt :)

      Nochmals Danke

      Gruß
      Voodoo