Mam problem ze skonstruowaniem zapytania SQL. Ale po kolei.
Mam tabelę ze stawkami pracowników wraz z datami w jakich obowiązywały, wygląda to tak;
idPrac Stawka dataOd dataDo
P0001111 3000 2006-03-01 2007-06-30
P0001111 3500 2007-07-01 2007-08-31
P0001111 4000 2007-09-01
P0002222 1800 2007-10-01
P0003333 1600 2006-01-01
Puste pole dataDo oznacza że stawka jest aktualna, oczywiście istnieje tabela Pracownicy z informacjami o pracownikach /dla uproszczenia niech zawiera tylko pola idPrac i Nazwisko/, w problematycznym zapytaniu tabele będą łączone.
Problem - próbuję skonstruować zapytanie które zwróci dla każdego pracownika tylko jedną, ostatnią, stawkę z podanego przedziału dat, czyli odpowiedź na pytanie "jaka była ostatnia stawka każdego pracownika w okresie od - do".
Dla przykładu - oczekiwany wynik zaptania dla zakresu dat 2007-01-01 do 2007-08-01
idPrac Stawka dataOd dataDo
P0001111 3500 2007-07-01 2007-08-31
P0002222 //puste bo człowiek jeszcze nie pracował
P0003333 1600 2006-01-01 //dataOd jest poniżej zadanego zakresu dat ale w tym okresie była to aktualna stawka
No i skończyły mi się pomysły jak miałoby wyglądać takie zapytanie :(
Baza to niestety Access.
Mam nadzieję że takie rzeczy to nie tylko w Erze ;)