Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Warunek between
Forum PHP.pl > Forum > Bazy danych
bliitz
Witam

struktury tabel wyglądają następująco:

Kod
create table informacje (
         id int not null primary key auto_increment,
         id_grupy int( 11 ) default 0,
         tytul varchar( 50 ),
         tekst text,
         ilosc_dni int( 11 ),
         przed_po tinyint( 1 ),
         jak_wyswietlic tinyint( 1 ),
         data_ukazania date,
         data_start_stop,
         ilosc_odslon tinyint( 1 ) default 0,
         aktywne tinyint( 1 ) default 0
     );
     create table informacje_personel (
         id int not null primary key auto_increment,
         id_informacji int( 11 ),
         id_personelu int( 11 ),
         data_odczytu datetime default '0000-00-00 00:00:00',
         przeczytane tinyint( 1 ) default 0
     );


Czy można za pomocą zapytania MySQL wyciągnąć te rekordy, które mieszczą się w określonym przedziale czasu, tzn.

jeśli ustawione jest wyświetlenie na 'przed' i data ukazania np. 20-11-2008 a ilość dni to np. 3 to komunikat powinien się pojawić 17-11-2008
i ten sam przykład z tym że wyświetlenie 'po' czyli powinien pojawić się 23-11-2008

mam zapytanie:
  1. SELECT informacje.*,
  2. informacje_personel.przeczytane
  3. FROM informacje, informacje_personel
  4. WHERE informacje.id = informacje_personel.id_informacji AND informacje_personel.id_personelu = '. $UPR[ 'id_personelu' ] .' AND informacje.aktywne = 0 AND LOCALTIME BETWEEN informacje.data_start_stop AND informacje.data_ukazania OR LOCALTIME BETWEEN informacje.data_ukazania AND informacje.data_start_stop


niestety zwraca powtarzające się wyniki wtedy, próbowałem z GROUP BY na różnych polach ale nie pomogło
webasek
Spróbuj użyć left join lub inner join między tabelami informacje i informacje_personel. Może to pomoże?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.