Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie sql z dwoma EXISTS
bobi194
post 21.03.2013, 10:39:40
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 24.04.2006

Ostrzeżenie: (0%)
-----


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ć

Ten post edytował bobi194 21.03.2013, 10:40:51
Go to the top of the page
+Quote Post
mmmmmmm
post 21.03.2013, 13:55:02
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Użyj LEFT JOINa z Nullem
Go to the top of the page
+Quote Post
bobi194
post 21.03.2013, 14:28:57
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 24.04.2006

Ostrzeżenie: (0%)
-----


ok poszło
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 03:09