• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

IF NOT EXISTS w Oraclu problem

0 głosów
92 wizyt
pytanie zadane 14 grudnia 2016 w SQL, bazy danych przez Szejk Obywatel (1,500 p.)

Witam pracuje aktualnie w Oraclu

Mam kilka Tabel jak np. pracownik w którym mam kilka kolumn np. ID pracownika imie nazwisko itp następnie mam tabele   Wypożyczenie w której mam kolumny z ID pracownika który coś wypożyczył i ID Pracownika który odebrał zwrot..          chce zwrócić wartość id pracownika który nie zrobił niczego czyli nie pojawił się ani w ID_Pracownik_wyp ani w ID_pracownik_zwrot

Myślałem nad IF NOT EXISTS   niestety coś nie działa

IF NOT EXISTS (SELECT * FROM WYPOZYCZENIE WHERE PRACOWNIK_ID_PRACOWNIKA_WYP=pracow.id_pracownika) 
AND (SELECT * FROM WYPOZYCZENIE WHERE PRACOWNIK_ID_PRACOWNIKA_WYP=pracow.id_pracownika) THEN 
SELECT PRACOWNIK_ID_PRACOWNIKA;

 

ERROR

Error starting at line : 67 in command -
IF NOT EXISTS (SELECT * FROM WYPOZYCZENIE WHERE PRACOWNIK_ID_PRACOWNIKA_WYP=pracow.id_pracownika) AND (SELECT * FROM WYPOZYCZENIE WHERE PRACOWNIK_ID_PRACOWNIKA_WYP=pracow.id_pracownika) THEN
Error report -
Unknown Command


Error starting at line : 68 in command -
SELECT PRACOWNIK_ID_PRACOWNIKA
Error at Command Line : 68 Column : 30
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

 

1 odpowiedź

+1 głos
odpowiedź 14 grudnia 2016 przez jeremus Maniak (59,790 p.)
wybrane 4 stycznia 2017 przez Szejk
 
Najlepsza
odpowiadałem niedawno na podobne pytanie :

-- jesli chcesz np wybrać rekordy z tebeli1, ktorych nie ma w tabeli2 to załatwi to coś takiego :

 

SELECT Table1.*

FROM   Table1

       LEFT JOIN Table2

         ON Table1.Column1 = Table2.Column2

WHERE  Table2.IdColumn IS NULL

-- inne rozwiazania to :

SELECT * FROM Table1 t1 WHERE NOT EXISTS (SELECT * FROM Table2 t2 WHERE t2.Column2 = t1.Column1)

--- lub

SELECT * FROM Table1 WHERE Column1 NOT IN (SELECT Column2 FROM Table2)

--- na podstawie tych przykładów pokombinuj z trzema tabelami

Podobne pytania

0 głosów
2 odpowiedzi 647 wizyt
pytanie zadane 7 marca 2016 w SQL, bazy danych przez gromula Stary wyjadacz (10,150 p.)
0 głosów
0 odpowiedzi 40 wizyt
pytanie zadane 9 grudnia 2018 w SQL, bazy danych przez Krystek102 Bywalec (2,430 p.)
0 głosów
1 odpowiedź 182 wizyt
pytanie zadane 20 stycznia 2018 w SQL, bazy danych przez amator1 Początkujący (470 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

66,324 zapytań

113,061 odpowiedzi

239,218 komentarzy

46,589 pasjonatów

Przeglądających: 250
Pasjonatów: 6 Gości: 244

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...