Wpis z mikrobloga

#sql #oracle

Pracuje sobie na tych danych od oracle i mam takie zadanie od prowadzace
2. Pokaż nazwiska pracowników i informację o stażu pracy.
Osoby zatrudnione:
w 1990 roku z komentarzem-długoletni pracownik
w 2000 - nowy pracownik
pozostali - '***'

i napisalem taki kod, ale go nie odpala

select lastname, hiredate
from employees
case hire_date when '&1990' then 'Dlugoletni pracownik'
when '&2000' then 'Nowy pracownik'
else '***' end

zwraca mi

ORA-00933: SQL command not properly ended

Co mogłem zrobić źle?
  • 12
  • Odpowiedz
@SuperMaslo: oki, działa <3

3. Wyświetl nazwiska pracowników z adnotacją SMT
(senior management team) dla osób bezpośrednio
podległych przezesowi (numer 100). Dla
osób z niższych stanowisk wyświetl nazwy ich
stanowisk.

a mam jeszcze drugie zadanie

jakiej funkcji użyć, żeby dodać SMT, bo LPAD uzupełnia do określonej długości
  • Odpowiedz
@ZawszeMyjeKubkiOctem: To nie funkcja, tylko instrukcja łączenia zbiorów. Spróbuj takie coś. Zaznaczam, jeżeli prawidłowo odczytuję intencję ;) "where not managerid " to jest poprawne? troche dziwnie to wyglada.

select 'STD'||lastname
from employees
where managerid = '100'
UNION
select lastname
from employees
where not managerid = '100'
  • Odpowiedz