Mailinglisten-Archive |
Hallo Sebastian, Vom Dienstag, 14. Juni 2005 um 11:38: SM> Clemens Nau wrote: >> Hallo, >> >> ich habe Probleme eine Abfrage hinzubekommen, die über mehrere >> Tabellen geht. Da MySQL 3.23.x läuft, kann ich nicht mit SubSelects >> arbeiten. >> Es gibt 3 TB's: >> user (u_id, u_name, u_score) >> rival (r_id, r_name, r_value) >> user_hit (uh_id, u_id, r_id) >> >> Benutzer (user), Gegner (rival) und die besigten Gegner pro Benutzer >> (user_hit). Jeder Gegner hat einen festen Wert (r_value). Ist ein >> Gegner besiegt, gibt es einen Eintrag in die TB user_hit, wo über >> die jeweiligen ID's festgehalten wird, wer welchen Gegner besiegt >> hat. Zusätzlich wird das Punktekonto eines Benutzers (u_score) um >> den Wert des besiegten Gegners erhöht. >> >> Bisher wurde eine Rangliste erstellt, die einfach die Benutzer, nach >> Punkten sortiert, ausgegeben hat. Das soll sich jetzt ändern und da >> fängt mein Problem an. >> >> Die neue Rangliste soll nach den 10 schwersten, besiegten Gegnern >> sortiert sein (best of ten). Sind also bereits 15 Gegner besiegt, >> sollen die 5 leichtesten nicht in die Ranglistenwertung mit >> eingehen. SM> die 'Schwere' steht `r_value`? Ja, genau. >> >> Ich müsste also pro Benutzer die "Hitliste" abfragen, dann für jeden >> besigten Gegner den Wert aus der Gegner-TB auslesen und davon nur >> die 10 besten nehmen. >> Daran bin ich aber bisher kläglich gescheitert. Kann mir jemand >> mit einer möglichen Abfrage weiter helfen? Oder war das zu >> verwirrend? SM> SELECT ... SM> FROM `user_hit` SM> LEFT JOIN `rival` SM> USING (`r_id`) SM> LEFT JOIN `user` SM> USING (`u_id`) SM> ORDER BY `rival`.`r_value` DESC SM> LIMIT 10 SM> ... glaub ich mal so auf die schnelle, und wer wollte da auch subselects SM> verwenden ... SM> -- SM> Sebastian Mendel SM> www.sebastianmendel.de SM> www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet Vielen Dank, ich werde es heute Abend ausprobieren und mich dann nochmal melden. -- Gruss Clemens -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive