Wpis z mikrobloga

#naukaprogramowania #sql #plsql #oracle
Witajcie SQL-owi przyjaciele, mam zadanie do rozwiązania i nie wiem gdzie popełniłem błąd.
Zadanie:

Wypisz imiona, nazwiska i stopnie naukowe wszystkich dydaktyków. Uwzględnij dydaktyków, którzy nie mają stopnia.


moje rozwiązanie:

select o.imie, o.nazwisko, st.stopien from osoba o join dydaktyk d on o.idosoba=d.idosoba
join stopnietytuly st on d.idstopien=st.idstopien where d.idstopien is null and d.idstopien is not null

i wyskakuje mi:

no rows selected
próbowałem dać po wherze:
nvl(d.idstopien,'brak') - ale dowiedziałęm się że po wherze nie można dawać nvl (chyba że coś źle zrozumiałem)

ktoś, coś?
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

SELECT o.imie, o.nazwisko, COALESCE(st.stopien) from osoba o

INNER JOIN dydaktyk d ON o.idosoba = d.idosoba

LEFT JOIN stopnietytuly st ON d.idstopien = st.stopien


@Ginden: SQL Error: ORA-00938: not enough arguments for function
00938. 00000 - "not enough arguments for function"
  • Odpowiedz
SELECT o.imie, o.nazwisko, COALESCE(st.stopien,'brak') from osoba o
INNER JOIN dydaktyk d ON o.idosoba = d.idosoba
LEFT JOIN stopnietytuly st ON d.idstopien = st.stopien

Error starting at line : 3 in command -
SELECT o.imie, o.nazwisko, COALESCE(st.stopien,'brak') from osoba o
INNER JOIN dydaktyk d ON o.idosoba = d.idosoba
  • Odpowiedz