Jak mogę utworzyć kolumnę w postgresach z wartości i wyborów na podstawie innych kolumn?

Chcę utworzyć nowe pole (lub dwa) w mojej tabeli, która jest połączeniem innych pól, co wydaje się stosunkowo proste. Ale co to jestcase składnia lubif/when składnia, której używam, aby pomóc w tworzeniu następujących pól (GPA_TXT, inewfield)?

Logika brzmi: każdy GPA powinien być#.#, każde nowe pole powinno być:

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...
)

Na przykład:

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

Myślę, że mam tutaj dwa pytania:

Jak utworzyć pole TXT GPA.Jak napisać instrukcję case do obliczenia pola zgodnie z wartościami w innych polach.

Jeśli ktoś może połączyć mnie z zasobem z przykładami lub wyjaśnić, byłbym bardzo wdzięczny! Przeglądam dokumentację, ale bez przykładów.

questionAnswers(3)

yourAnswerToTheQuestion