Cały SQL odpowiada za określenie wartości w kolumnie "typ". Instrukcja "case" służy tu do określania warunków.
artość kolumny "typ" jest określana na podstawie warunku sprawdzającego, czy istnieje rekord w tabeli "sell" spełniający pewne kryteria które są dalej opisane.
Instrukcja "case" jest używana w warunku, aby określić, jakie wartości powinny być spełnione w kolumnie "service" dla różnych wartości w kolumnie "sub_id" w tabeli "cs". Na przykład, jeśli wartość w kolumnie "sub_id" wynosi 1, to warunek musi być spełniony i następuje wykonanie instrukcji n service = 14. co oznacza że wartość kolumny service zostaje ustawiona na wartość 14
Chociaż nie wiem co to jest za forma zapisania, bo z tego co wiem, to po warunku nie może być przypisania tak jak zostało to określone, chyba że zamiast then wprowadzisz or.
Wartość kolumny "typ" jest ostatecznie określana na podstawie wyniku tego warunku i jest nazwana na końcu instrukcji "case" przy użyciu słowa kluczowego "as" i nazwy "typ".
Generalnie dokładniejsze case wyglądało by tak
select case
when cs.sub_id = 1 then service = 14
when cs.sub_id = 2 then service = 13
when cs.sub_id = 3 then service = 144
when cs.sub_id = 4 then service = 18
when cs.sub_id = 5 then service = 152
when cs.sub_id = 6 then service = 155
when cs.sub_id = 7 then service = 16
end as service_type
W tym przykładzie, dla każdego wiersza w tabeli "cs", wartość kolumny "service_type" jest ustawiana na różne wartości w zależności od wartości kolumny "cs.sub_id". Gdy "cs.sub_id" jest równe 1, wartość "service_type" jest ustawiana na 14, a gdy "cs.sub_id" jest równe 2, wartość "service_type" jest ustawiana na 13, itd.