Hallo,
sagt mal wenn ich eine Tabelle `Movies` habe und eine Tabelle `Actors` und eine `ConMoviesActors` (Verknüpfungstabelle) und nun für n Filme (also z.B. Filme für eine Seite) so effizient wie möglich auch deren Schauspieler ermitteln möchte, wie gehe ich da vor?
Ich würde zuerst die n Filme ermitteln (und damit deren ID)
(* benutze ich nur der Einfachheit halber)
und mir dann per PHP die Film-IDs als SQL-WHERE Bedingung schreiben, also
Ich halte das für ineffizient. Gibts keine elegantere Lösung? (id >= 1 AND id <= 30 kann ich natürlich nicht verwenden, da ja z.B. auch nach dem Filmtitel sortierte Seitenaufrufe erfolgen könnn, welche durch > < ja nicht zu erfassen sind)
LEFT JOIN finde ich auch nicht gerade optimal, da ich ja dann ein Ergebnis der Art
rausbekomme...
Was ist hier also die Profi- oder Standard-Lösung?
Danke & Gruß, c
sagt mal wenn ich eine Tabelle `Movies` habe und eine Tabelle `Actors` und eine `ConMoviesActors` (Verknüpfungstabelle) und nun für n Filme (also z.B. Filme für eine Seite) so effizient wie möglich auch deren Schauspieler ermitteln möchte, wie gehe ich da vor?
Ich würde zuerst die n Filme ermitteln (und damit deren ID)
Code:
SELECT * FROM movies ORDER BY id ASC LIMIT 0, 30
und mir dann per PHP die Film-IDs als SQL-WHERE Bedingung schreiben, also
Code:
..WHERE id = 1 OR id = 2 OR id = 3 ....
LEFT JOIN finde ich auch nicht gerade optimal, da ich ja dann ein Ergebnis der Art
Code:
1;Pretty Woman;Gere;Richard 1;Pretty Woman;Roberts;Julia 2;Top Gun;Cruise;Tom 3;Ocean's Eleven;Roberts Julia 3;Ocean's Eleven;Pit;Brett 3;Ocean's Eleven;was weiß ich wer hier noch mitgespielt hat
Was ist hier also die Profi- oder Standard-Lösung?
Danke & Gruß, c
Kommentar