![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 0 Dołączył: 5.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Od kilku dni mam zaćmę umysłową i nie potrafię zrobić prostej rzeczy, a mianowicie: Mam bazę danych : nazwisko | od | do kowalski 2011-03-03 2011-03-06 nowak 2011-03-06 2011-03-16 Mam formularz w którym wybieramy dwie daty (okres od - do). Interesuje mnie pytanie, które ustali mi kto w wybranym przez formularz okresie był na zwolnieniu. Np. jeśli wybiore od 1.03-20.03 to byli oboje a jeśli np. od 4.03 do 5.03 to był tylko kowalski. A z kolei od 4.03 do 07.03 to też byli oboje. No kombinowałem już na 20 sposobów i za grzyba nie idzie. albo wyskakuje jeden albo drugi albo oboje, ale zawsze jest błąd gdy zbiory dat się pokrywają. Sprawa jest banalna ale nie daje rady. Ogólnie stosowałem w pytaniu warunek
w różnych konfiguracjach, ale zawsze gdzieś źle pokazał. Pomocy, lub choć wskazówkę |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Doprecyzuj określenie "kto w wybranym przez formularz okresie był na zwolnieniu".
Możliwość 1: Kto przez cały podany okres był na zwolnieniu. Możliwość 2: Kto w dowolnym dniu podanego okresu był na zwolnieniu. Skoro piszesz "od 4.03 do 07.03 to też byli oboje" a Nowak był na zwolnieniu od 6.03, to raczej wariant 2, ale chciałbym się upewnić. Rozwiązanie Kefirka wyciągnie tylko tych, którzy "w żadną stronę nie wystawiali" poza podany okres. Rozwiązanie Wojtka_B (wygląda na dobre) obejmuje 3 możliwości: - od <= $_od AND do >= $_do - tych którzy "wzięli okrakiem" podany okres (zaczęli wcześniej lub w dniu pocz., a skończyli później lub w dniu końcowym) - od BETWEEN $_od AND $_do - zaczęli w podanym okresie (koniec - nieważny), - do BETWEEN $_od AND $_do - skończyli w podanym okresie (początek - nieważny). Ten post edytował Valdi_B 8.03.2011, 11:13:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 01:31 |