SQL - Spalteninhalt aus vorhergehender Spalte erzeugen

janosh75

Mitglied
Hallo zusammen.
Ich bin in diesem Bereich leider sehr unerfahren und habe ein Problem: Ich habe eine Tabelle erstellt (Wettkampfergebnisse). In der zweiten Spalte werden die Platzierungen eingegeben (1.,2.,3. Platz usw). In der dritten Spalte möchte ich nun entsprechend der Platzierung Punkte vergeben (1.=10P, 2.=8P, 3.=6P, usw - Ähnlich wie bei der Formel 1). Kann mir jemand sagen, was ich dafür in der dritten Spalte machen muss, damit die Punkte automatisch dort angezeigt werden?
Vielen Dank im Voraus!
 
Also ich würde eine Tabelle mit den Punkten pro Platzierung pflegen uind diese dann referenzieren, denn 1. Platz & 10 Punkte wäre dann doppelte Datenspeicherung ;)
 
Hallo,

schau dir doch mal
Code:
CASE
    WHEN Boolean_expression THEN result_expression  
        [ ...n ] 
    [ 
        ELSE  else_result_expression 
    ]
END
an.
 
Hallo,

das geht so:
Code:
[SELECT     *, 
case 
when Platz=1 then 10 
when Platz=2 then 8 
when Platz=3 then 6 
when Platz=4 then 5 
when Platz=5 then 4 
when Platz=6 then 3 
when Platz=7 then 2 
when Platz=8 then 1 
else 0 End As Punkte
FROM  Wettkampfergebnisse
 
Hallo,

Den SQL braucht du doch nur ausführen, wie lässt du dir denn jetzt die Ergebnisse anzeigen?

Code:
SELECT     Wettkampfergebnisse.Wettkampf, Wettkampfergebnisse.Platz, case when Punkte.Punkte  > 0 then Punkte.Punkte else 0 End as Punkte
FROM         Wettkampfergebnisse LEFT OUTER JOIN
                      Punkte ON Wettkampfergebnisse.Platz = Punkte.Platz
Hier noch mal ein Beispiel für den Vorschlag von Radhad mit einer extra Tabelle.

Code:
Platz Punkte
1        10
2         8
usw.
 
Zurück