Tworzenie kolumn w kwerendzie przez instrukcje warunkowe

Użytkowanie programu bazodanowego
sticzi
Posty: 12
Rejestracja: pt mar 25, 2022 8:21 pm

Tworzenie kolumn w kwerendzie przez instrukcje warunkowe

Post autor: sticzi »

Da się stworzyć w kwerendzie kolumne poprzez instrukcje warunkową? Coś w rodzaju Jeżeli(Urzedowy = 'tak';1;0).
Dla jasności, chce sprawdzić każde pole w kolumnie "urzedowy" i w drugiej kolumnie chciałbym napisać "tak" jeżeli pole w kolumnie "urzedowy" wynosiłoby "tak".
Prosiłbym o rozwiązanie nie w SQLU jeżeli takie jest.

Przepraszam za dużo postów, ale kompletnie nigdzie nie mogę znaleźć odpowiedzi na moje pytania, albo po prostu nie wiem gdzie szukać.
Ostatnio zmieniony śr mar 30, 2022 8:13 pm przez sticzi, łącznie zmieniany 1 raz.
OpenOffice 4 na Windsows 10
Awatar użytkownika
Rafkus
Posty: 513
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Tworzenie kolumn w kwerendzie przez instrukcje warunkowe

Post autor: Rafkus »

Da się:

Kod: Zaznacz cały

CASEWHEN (exp, v1, v2)
jeśli exp jest prawdą, zwracane jest v1, w przeciwnym razie v2

Kod: Zaznacz cały

CASE WHEN expr1 THEN v1
[WHEN exprX THEN vX] [ELSE coś] END
gdy expr1 jest prawdziwe, zwróć v1
[opcjonalnie powtórzone X razy dla większej liczby przypadków]
[w przeciwnym razie coś lub null, jeśli nie ma ELSE] - Ta forma jest zalecana.

Listę dostępnych funkcji możesz znaleźć na tej stronie: http://www.hsqldb.org/doc/1.8/guide/ch0 ... on-section
(praktycznie na samym dole strony)
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Tworzenie kolumn w kwerendzie przez instrukcje warunkowe

Post autor: Jan_J »

Rafkus pisze:

Kod: Zaznacz cały

CASE WHEN expr1 THEN v1
[WHEN exprX THEN vX] [ELSE coś] END
Warto dodać, że nawiasy [...] należą tu to do składni opisu (opcjonalność), a nie do składni polecenia.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ