Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podzapytania
Forum PHP.pl > Forum > Bazy danych
chyzio
Mam takie takie dwa zapytania

Zapytanie 1:

  1. SELECT id_zasobu FROM rezerwacje_zasoby WHERE id_zasobu=18


Zapytanie 2

  1. SELECT id_zasobu FROM rezerwacje_zasoby WHERE '2009-02-10 11:00:00' BETWEEN rezerwacja_od AND rezerwacja_do OR '2009-02-10 15:00:00' BETWEEN rezerwacja_od AND rezerwacja_do
  2. GROUP BY id_zasobu;


Jak zrobić aby zapytanie 2 stało się warunkiem zapytania 1 ? chcę pobrać wiersze które mają id_zasobu = 18 (zapytanie 1) i jednocześnie zawierają się w dacie (zapytanie 2). Nie mam pomysłu jak je połączyć :/
ddiceman
Rzeczywiscie pierwsze zapytanie ma wycaigac tylko i wylacznie 18 albo NULL? Bo tak jest skonstruowane.
Jezeli chodzi o polaczenie Twoich zapytan, choc wydaje mi sie to dziwna konstrukcja, to operujac na tej samej tabeli mozesz po prostu
  1. SELECT id_zasobu FROM rezerwacje_zasoby WHERE '2009-02-10 11:00:00' BETWEEN rezerwacja_od AND rezerwacja_do OR '2009-02-10 15:00:00' BETWEEN rezerwacja_od AND rezerwacja_do AND id_zasobu=18
  2. GROUP BY id_zasobu;

tylko naprawde podejrzane wydaja mi sie Twoje przyklady...
chyzio
Id_zasobu zawsze jest znane drugie zapytanie ma sprawdzić czy zasób o określonym id_zasobu w podanych godzinach nie jest w użyciu, ddiceman konstrukcja którą zaproponowałeś ze względu na użyty warunek logiczny OR nie wskazuje tylko i wyłącznie na zasob o id_zasobu=18

Powiem tak warunek jest prawdziwy gdy choć jeden z obu warunków jest prawdziwy czyli

  1. '2009-02-10 11:00:00' BETWEEN rezerwacja_od AND rezerwacja_do

lub
  1. '2009-02-10 19:00:00' BETWEEN rezerwacja_od AND rezerwacja_do


i jednocześnie id_zasobu musi wynosić 18
ddiceman
no to pogrupuj
  1. SELECT id_zasobu FROM rezerwacje_zasoby WHERE ('2009-02-10 11:00:00' BETWEEN rezerwacja_od AND rezerwacja_do OR '2009-02-10 15:00:00' BETWEEN rezerwacja_od AND rezerwacja_do) AND id_zasobu=18
  2. GROUP BY id_zasobu;
chyzio
Jaki głupek ze mnie no tak wystarczyły nawiasy... ddiceman dziękuję bardzo o to mi chodziło smile.gif
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.