Wie kann ich eine Spalte in Postgres aus Werten und Auswahlen erstellen, die auf anderen Spalten basieren?

Ich möchte ein neues Feld (oder zwei) in meiner Tabelle erstellen, das eine Verkettung anderer Felder darstellt, was relativ einfach zu sein scheint. Aber was ist das?case Syntax oderif/when Syntax, die ich zum Erstellen der folgenden Felder verwenden würde (GPA_TXT, undnewfield)?

Die Logik ist: Jeder GPA sollte sein#.#sollte jedes neue Feld sein:

name & "-" & GPA_TXT & (
    case where GPA_TXT > 3.3
        set newfield = newfield & 'GradeA',
    case where GPA_TXT >2.7 and GPA_TXT < 3.3
        set newfield = newfield & "GradeB",
    etc...
)

Zum Beispiel:

name         major     GPA(num) GPA_TXT   [newfield]
Bob          sci       2        02.0      Bob-sci-GradeC-02.0
Jane         chem      3.1      03.1      Jane-chem-GradeB-03.1
Charlie      phys      3.7      03.7      Charlie-phys-GradeA-03.7
Garfield     food      0        00.0      Garfield-food-GradeF-00.0

Ich habe hier also zwei Fragen:

So erstellen Sie das GPA-TXT-Feld.So schreiben Sie eine case-Anweisung, um ein Feld anhand der Werte in anderen Feldern zu berechnen.

Wenn jemand mich mit Beispielen oder Erklärungen zu einer Ressource verlinken kann, wäre ich sehr dankbar! Ich sehe die Dokumentation durch, komme aber ohne Beispiele nicht weiter.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage