Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL] Zapytanie do bazy
Forum PHP.pl > Forum > Przedszkole
Jaq
Witam
Jestem jeszcze początkujący więc wybaczcie treść pytania. Zatrzymałem się na konstruowaniu zapytania do bazy.
Posiadam tabelę z której chciałbym wyciągnąć dane:

Kod
Id    Data         Czas    Nazwa_zdarzenia
1    2017-04-21    11:00    ABC
2    2017-04-21    12:00    CDA
3    2017-04-21    13:00    AAA
4    2017-04-22    09:00    BBB
5    2017-04-22    20:00    CCC



Nie mogę dojść do tego jak wyświetlić wszystkie nazwy zdarzeń, które wystąpiły pomiędzy:
2017-04-20, godz. 10:00, a 2017-04-22 godz. 22:00

Pomoże ktoś. :-)

Jaq
lustfingers
Zwykły warunek WHERE BETWEEN w zapytaniu nie daje efektu?
Jaq
Pomiędzy jedną wartością np. data, nie ma żadnego problemu, pomiędzy dwoma już jest :-)
Pomroczność jasna. :-)

No i chyba sam znalazłem. :-)
Przepraszam, że zawracałem głowę.

  1. SELECT
  2. Nazwa zdarzenia,
  3. DATA,
  4. godzina
  5. FROM
  6. t_raport_kontroli
  7. WHERE
  8. t_raport_kontroli.`data` BETWEEN '2017-04-20' AND '2017-04-22'
  9. AND
  10. t_raport_kontroli.godzina BETWEEN '10:00:00' AND '22:00:00'


Mała poprawka

Kod
SELECT DISTINCT Nazwa_zdarzenia
FROM Zdarzenia
WHERE (Data > '2017-04-20' AND Data < '2017-04-22') OR (Data = '2017-04-20' AND Godzina >= '10:00') OR (Data = '2017-04-22' AND Godzina <= '22:00');

SELECT DISTINCT Nazwa_zdarzenia
FROM Zdarzenia
WHERE (Data > '2017-04-20' OR (Data = '2017-04-20' AND Godzina >= '10:00')) AND (Data < '2017-04-22' OR (Data = '2017-04-22' AND Godzina <= '22:00'))
nospor
Masz mozliwosc poprawy struktury bazy? Jesli tak, to powinno byc jedno pole DATETIME i nie musialbys robic tak dzikich kombinacji
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.