Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie SQL dot. daty i czasu
likemandrake
post 5.01.2007, 00:10:25
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 17
Dołączył: 23.06.2006

Ostrzeżenie: (0%)
-----


Witam!

Mamy sobie taka tabelke :

id | data | czas
---------------------------
5 |2007-01-04| 21:20
4 |2007-01-04| 20:15
3 |2007-01-04| 12:30
2 |2007-01-03| 23:00
1 |2007-01-03| 22:15
0 |2007-01-03| 11:00

chodzi mi stworzyć takie zpytanie sql aby wybrało wiersze, gdzie data<=2007-01-04 i czas<=13:00, czyli powinienem otrzymać coś takiego:

id | data | czas
---------------------------
3 |2007-01-04| 12:30
2 |2007-01-03| 23:00
1 |2007-01-03| 22:15
0 |2007-01-03| 11:00

Niestety jakoś mi to nie wychodzi, zapytanie typu:

SELECT * FROM tabela WHERE data<='2007-01-04' AND czas<='13:00' nie daje zadowalającego rezultatu, tlyko coś takiego:


id | data | czas
---------------------------
3 |2007-01-04| 12:30
0 |2007-01-03| 11:00

Pozdrawiam smile.gif


--------------------
serwiswww.pl
Go to the top of the page
+Quote Post
siemakuba
post 6.01.2007, 01:11:12
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

Ostrzeżenie: (0%)
-----


jeżeli dobrze widzę, to taki warunek data<='2007-01-04' AND czas<='13:00' pasuje dokładnie tylko do tych danych, które zwraca zapytanie. Wszystkie kolumny data spełniają warunek <='2007-01-04' i tylko kolumny z id=0 i id=3 spełniają warunek czas<='13:00' ;)

coś pomieszałeś zdaje się, albo zapytałeś nie o to co trzeba ;)

pozdr.
Go to the top of the page
+Quote Post
shpyo
post 6.01.2007, 12:37:40
Post #3





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Po co robić dwie kolumny na datę? Nie lepiej zrobić jedną kolumnę typu DATATIME? Tak chyba łatwiej i szybciej będzie.


--------------------
Go to the top of the page
+Quote Post
Vertical
post 6.01.2007, 15:58:24
Post #4





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Są dwa rozwiązania. Albo robisz warunek IF, że jeśli data = '2007-01-04' to czas musi być <= '13:00', albo robisz jedno pole typu DATETIME.
Cytat
SELECT * FROM tabela WHERE data<='2007-01-04' AND czas<='13:00' nie daje zadowalającego rezultatu, tlyko coś takiego:

Nie daje rezultatu, bo takie zapytanie wywoła tylko pola, w których czas <= '13:00', a nie gdzie czas <= '2007-01-04 13:00'
Go to the top of the page
+Quote Post
likemandrake
post 6.01.2007, 22:28:27
Post #5





Grupa: Zarejestrowani
Postów: 175
Pomógł: 17
Dołączył: 23.06.2006

Ostrzeżenie: (0%)
-----


Dzięki wam wszystkim!

Przynajmniej wiem, że więcej wiem smile.gif

Pozdrawiam


--------------------
serwiswww.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 10:30