Hallo zusammen,
habe ein kleines Problem mir einer MySQL-Query. Und zwar habe ich folgendes Problem. Ich habe die nachfolgenden Tabellen, und möchte von allen Reqiseuren den frühst gedrehten Film.
Regiseure (Tabelle1)
1:
2:
3: | ID Name
1 Quentin Tarantino
2 David Lynch |
Filme (Tabelle2)
1:
2:
3:
4:
5:
6: | ID Name Reqgiseur Erscheinungsjahr
1 Jacki Brown 1 2000
2 Pulp Fiction 1 1995
3 Kill Bill vol1 1 2003
4 Mullholland Drive 2 2002
5 Lost Hightway 2 2000 |
Das Ergebnis müsste aber wie folgt aussehen:
Ergebis:
1:
2:
3: | Req.-ID Name Film-ID Name Erscheinungsjahr
1 Quentin Tarantino 2 Pulp-Fiction 1995
2 David Lynch 5 Lost Highway 2000 |
Jetzt meine Frage, wie realisiere ich dies am besten, bzw. ist das mit MySql überhaupt möglich?
Das ganze ist nur fiktiv und spiegelt so minimalistisch wie möglich mein tatsächliches Problem wieder. Und bitte erwartet keine Korrektheit der Film-Date. ;)
Danke schonmal
[edit]
Eine mögliche Lösung wäre:
1:
2:
3:
4: | SELECT R.*, SUBSTRING(MIN(concat(F.Erscheinungsjahr,F.Name)),5) AS erster_film
FROM Regiseure R
LEFT JOIN Filme F ON F.Regiseur=R.ID
GROUP BY R.ID |
Bringt mir aber nichts, da ich den Wert, in diesem Fall das Erscheinungsjahr für einen weiteren JOIN benötige, und in diesem Fall mit dem Ergebnis (erster_film) nicht arbeiten kann.