Post by Christoph SchneegansGibt es weitere Beispiele für Gruppen aus drei oder mehr Schauspielern,
die zusammen in mehreren Filmen waren? Fortsetzungen oder Mehrteiler
zählen natürlich nicht.
Mir wollen partout keine einfallen, und etwa die Suchfunktion der IMDb
bietet dabei AFAICS auch keine Unterstützung.
Ein interessantes Problem. Die IMDb hilft hier sehr wohl weiter,
allerdings kaum über den Online-Zugang, wie Du ganz richtig bemerkt
hast. Über die Offline-Version kann man das Problem dagegen im
Prinzip sogar vollständig lösen (vollständig in dem Sinn, dass alle
in der IMDb erfassten Filmauftritte in die Lösung einfließen), indem
man sich eine entsprechende Abfrage zusammenbastelt. Aber mir sagt
mein kleiner Zeh, dass man dafür sehr dicke Hardware braucht, während
ein normaler PC endlos rödelt, bis er die Lösung präsentiert. Deshalb
habe ich das gar nicht erst versucht.
Stattdessen habe ich eine abgespeckte Lösung umgesetzt: Zu ausgewählten
Schauspieler(inne)n die beiden weiteren gesucht, die die maximale Zahl
an gemeinsamen Filmen ergeben. Mein erstes Versuchsobjekt war Stan
Laurel. Natürlich ist bei allen Dreiergruppen auf den vordersten Plätzen
Oliver Hardy mit dabei, der führende "Dritte im Bunde" ist aber nicht
der von mir erwartete James Finlayson, sondern ein gewisser Charlie Hall
(in der IMDb als "Hall, Charlie (I)"), der bisher unter meinem Radar
geblieben ist. Hier mal die Liste der ersten 10 Dreiergruppen (bitte
mit fixed pitch font ansehen):
+-----------------------------+-----------------------------+--------+
| name | name | anzahl |
+-----------------------------+-----------------------------+--------+
| Hall, Charlie (I) | Hardy, Oliver | 62 |
| Finlayson, James (I) | Hardy, Oliver | 46 |
| Hardy, Oliver | Lufkin, Sam | 40 |
| Hardy, Oliver | Hill, Jack (II) | 36 |
| Hardy, Oliver | Sandford, Tiny | 35 |
| Cooke, Baldwin | Hardy, Oliver | 34 |
| Bernard, Harry | Hardy, Oliver | 30 |
| Finlayson, James (I) | Hall, Charlie (I) | 30 |
| Hall, Charlie (I) | Lufkin, Sam | 27 |
| Cooke, Baldwin | Hall, Charlie (I) | 24 |
+-----------------------------+-----------------------------+--------+
Allerdings sind da auch etliche Dokus und Kompilationsfilme mit
berücksichtigt. Die müsste man manuell aussortieren. Das habe ich
mal bei Finlayson gemacht, und ich komme auf 36 "echte" gemeinsame
Filme mit Laurel & Hardy. Leider ist gerade bei bekannten Schauspiel-
größen die Zahl an Dokus und Kompilationen, in denen sie vertreten
sind, oft so groß, dass man die Listen der gemeinsamen Filme auf
jeden Fall manuell überprüfen muss, damit sie aussagekräftig sind.
Natürlich kann man auch zu einer gegebenen Paarung von Darstellern,
von denen man schon weiß, dass sie häufig gemeinsam aufgetreten sind,
den häufigsten Dritten im Bunde suchen, oder man kann auch nach
Gruppen von vier oder noch mehr Darstellern mit gemeinsamen Filmen
suchen (wobei natürlich die Rechenzeit steigt). Ich habe ein bisschen
damit herumgespielt, aber ich verzichte mal darauf, hier jetzt endlose
Listen zu posten. Falls aber jemand eine bestimmte Liste von mir
gepostet sehen will, möge er jetzt vortreten oder für immer schweigen!
Und jetzt zum technischen Teil - falls hier noch jemand außer mir das
längst entschwundene AMDbFront 3 einsetzt. Für alle anderen ist
das Folgende uninteressant. Die obige Liste kann man mit folgender
SQL-Query erzeugen:
select n2.name, n3.name, count(*) as anzahl
from characters as c1, characters as c2, characters as c3,
names as n1, names as n2, names as n3,
jobs as j1, jobs as j2, jobs as j3, movies
where movies.title_id = c1.title_id
and c1.title_id = c2.title_id
and c2.title_id = c3.title_id
and c1.job_id = j1.job_id
and (j1.description = 'actor' or j1.description = 'actress')
and c2.job_id = j2.job_id
and (j2.description = 'actor' or j2.description = 'actress')
and c3.job_id = j3.job_id
and (j3.description = 'actor' or j3.description = 'actress')
and c1.name_id = n1.name_id
and c2.name_id = n2.name_id
and c3.name_id = n3.name_id
and n1.name = 'Laurel, Stan'
and n1.name != n2.name
and n1.name != n3.name
and n2.name < n3.name
and movies.title not like '"%'
group by n2.name, n3.name
having anzahl > 10
order by anzahl desc;
Die gemeinsamen Filme von drei Darstellern kann man sich so
ausgeben lassen:
select title
from characters as c1, characters as c2, characters as c3,
names as n1, names as n2, names as n3,
jobs as j1, jobs as j2, jobs as j3, movies
where movies.title_id = c1.title_id
and c1.title_id = c2.title_id
and c2.title_id = c3.title_id
and c1.job_id = j1.job_id
and (j1.description = 'actor' or j1.description = 'actress')
and c2.job_id = j2.job_id
and (j2.description = 'actor' or j2.description = 'actress')
and c3.job_id = j3.job_id
and (j3.description = 'actor' or j3.description = 'actress')
and c1.name_id = n1.name_id
and c2.name_id = n2.name_id
and c3.name_id = n3.name_id
and n1.name = 'Laurel, Stan'
and n2.name = 'Hardy, Oliver'
and n3.name = 'Finlayson, James (I)'
order by date;
Wie gesagt bekommt man da alles einschl. Dokus, Kompilationen,
Mehrteiler, TV-Shows und Serien angezeigt, so dass ggf. nachträg-
liches Ausmisten angesagt ist. Ich bin kein SQL-Crack, und die
Queries kann man vielleicht noch schöner oder performanter
formulieren, aber so funktionieren sie jedenfalls auch.
Manfred