PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Berechnung mit SUM() - Negative Werte filtern..?


Boneshaker
17.03.2004, 23:12:46
Hallo... ich habe folgendes Prob:

$result = mysql_query("SELECT *,SUM(20-(PID-1)*2) AS Punkte FROM $table_r_e group by MID order by Punkte desc");
Kurz: Die Tabelle ist eine Renntabelle enthält folgenden Felder (kurzer Auszug):
- MitgliedsID (MID)
- Platzierung (PID)
- RennenID (RID)

Es wird nach den Mitgliedern gruppiert, um bei mehreren Rennen die gesammelten Punkte jeden Fahrers zu ermitteln.

Berechnet wird wie folgt:
1.Platz = 20 Punkte
2.Platz = 18 Punkte
3.Platz = 16 Punkte
.
.
.
10.Platz = 2 Punkte

Das ganze ergibt sich aus SUM(20-(PID-1)*2) als Formel. Schön und gut, ich will aber nicht, dass diese Formel bei Platz 11 weitermacht und dann -2 Punkte anzeigt!

Wie kann ich dies unterbinden?

mfg, Mario

Marilu
17.03.2004, 23:37:35
Baue mal ein IF ein, etwa so:

SELECT *, IF(PID <= 10, SUM(20-(PID-1)*2), 0) AS Punkte ...

Boneshaker
21.03.2004, 20:44:00
vielen dank.. hab dann festgestellt dass where(PID<=10) es auch tut ;-)

mfg, mario