Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Bazy danych _ Pobranie pracowników których nie ma w innej tabeli + data

Napisany przez: extremist 9.10.2019, 08:13:02

Cześć, mam problem z podwójnym SELECTEM moje tabele to : pracownicy oraz events.
Chcę pobrać imiona i nazwiska tych ludzi, którzy nie występują w innej tabeli o konkretnej dacie.
Udało mi się pobrać ale bez daty, nie wiem jak ją załączyć:

  1. SELECT * FROM pracownicy AS a WHERE NOT EXISTS (SELECT * FROM events AS b WHERE a.imie=b.imie AND a.nazwisko=b.nazwisko


to działa i ma się dobrze, natomiast jak robię:

  1. SELECT * FROM pracownicy AS a WHERE NOT EXISTS (SELECT * FROM events AS b WHERE a.imie=b.imie AND a.nazwisko=b.nazwisko AND b.end_event='2019-10-05 08:00:00'


Dostaję błędy. Tutaj już nie porównuję z poprzednią tabelą. Data jest tylko w jednej.

Napisany przez: trueblue 9.10.2019, 10:45:11

  1. SELECT * FROM pracownicy AS p
  2. LEFT JOIN ON events AS e ON e.imie=p.imie AND e.nazwisko=p.nazwisko AND e.end_event='2019-10-05 08:00:00'
  3. WHERE e.imie IS NULL AND e.nazwisko IS NULL


Nie jest dobrym pomysłem sprzężenie tabel poprzez imię i nazwisko. Co będzie w przypadku kiedy w firmie jest dwóch pracowników o tych samych imionach i nazwiskach?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)