Przetwarzając dane z formularza aby wyfiltrować tylko okreslone wyniki natrafilem na problem.
Na poczatek struktura:
PRACOWNICY (ID_pracownik, imie, nazwisko)
POMIESZCZENIA (ID_pomieszczenie, nazwa)
LOGI (ID_logi, ID_pomieszczenie, ID_pracownik, data (timestamp))
W tabeli logi wrzucane są ID pracownika i ID pomieszczenia oraz data wrzucenia. Stworzylem zapytanie zeby wyciagnac okreslone dane, i np:
SELECT pracownicy.imie, pracownicy.nazwisko, nazwa, zatrudniony, DATA FROM ( SELECT ID_pracownik, ID_pomieszczenie, DATA FROM logi WHERE ID_pracownik =3 ) log, logi, pracownicy, pomieszczenia WHERE pracownicy.ID_pracownik = log.ID_pracownik AND pomieszczenia.ID_pomieszczenie = log.ID_pomieszczenie
Tutaj działa ok.
Natomiast nie wiem jak to pożenić z datą, kiedy daje zapytanie jak poniżej wypluwa mi 12 wyników zamiast 2, czyli robi iloczyn kartezjanski, który nie wiem jak wyeliminować.
SELECT pracownicy.imie, pracownicy.nazwisko, nazwa, zatrudniony, log.DATA FROM ( SELECT ID_pracownik, ID_pomieszczenie, DATA FROM logi WHERE ID_pracownik =3 AND (DATA >= '1970-01-01 00:00:00' AND DATA <= '2012-12-31 00:00:00') ) log, logi, pracownicy, pomieszczenia WHERE pracownicy.ID_pracownik = log.ID_pracownik AND pomieszczenia.ID_pomieszczenie = log.ID_pomieszczenie
Macie jakieś pomysły?