Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie sql z dwoma EXISTS
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
bobi194
Witam
Jak to napisać:
Mam trzy tabele:
osoba:(id_osoby, imie, nazwisko)
pozycje_wyplat:(id_poz_wyplaty,data_od,data_do,brutto)
pozycje_zwrot:(id,id_poz_wyplaty,brutto)

Muszę wyszukać osoby, które mają wypłaty za jakiś okes np: 01.01.2013 do 31.03.2013 (widoczne jako trzy rekordy w tabeli pozycje_wypłat) i nie posiadają natomiast zwrotów
kombinowałem tak:
  1. SELECT
  2. o.imie,
  3. o.nazwisko,
  4.  
  5.  
  6. FROM
  7. osoba o WHERE
  8.  
  9. o.id_osoby IN
  10. (SELECT pw.id_osoby FROM pozycje_wyplat pw WHERE o.id_osoby=pw.id_osoby AND
  11. pw.data_od>='2013.01.01' AND
  12. pw.data_do<'2013.03.31' AND
  13. NOT EXISTS (SELECT 1 FROM pozycje_zwrot pz WHERE pz.id_poz_wyplaty=pw.id_poz_wyplaty)
  14.  
  15.  
  16. )
  17.  
  18. )
  19.  
  20. ORDER BY o.nazwisko

dostaję wynik ale tak jakby nie uwzględniał tego czy osoba ma zwrot czy też nie (nie widzi NOT EXISTS)
Jak to napisać
mmmmmmm
Użyj LEFT JOINa z Nullem
bobi194
ok poszło
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.