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.