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.