![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Bardzo byłbym wdzięczny za pomoc w ułożeniu zapytania SQL. Mianowicie, mam tablicę w bazie danych, w której każdy rekord ma 2 kolumny: 'StartTime', 'EndTime', które oznaczają początek i koniec rezerwacji w systemie obiektu turystycznego. Chciałbym (o ile to możliwe) stworzyć zapytanie do bazy, aby ta wyświetliła mi wszystkie dni z przedziału <StartTime,EndTime> wraz z ilością wystąpień danego dnia. Krótko mówiąc, żeby było wiadomo ile rezerwacji jest naraz danego dnia. Oczekiwany wynik zapytania: --------------------------------- Data: | Ile_rezerwacji --------------------------------- 01-12-2012 | 4 02-12-2012 | 3 05-12-2012 | 1 (...) | (...) --------------------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
W MYSQL w prosty sposób się nie da. W postgreSQL się da.
Np. SELECT daty, Count(*) FROM generate_series(data_poczatkowa, data_koncowa, 1) daty, tabela WHERE daty BETWEEN tabela.StartTime AND EndTime GROUP BY 1 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Całą bazę mam w MySQL, także pozostałbym przy niej.
Więc może jakoś w połączeniu z PHPem da się to uzyskać? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 29 Dołączył: 18.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Kto rano wstaje ten leje jak z cebra.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Troche nie to o co mi chodziło
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Troche ciezko napisac zapytanie jak nie wiem jak skladujesz dane.
Ale wystarczy zwykly count albo suma zalezy jak masz dane between albo >= i <= oraz grupowanie. zaptanie zwaraca dni w ktorych jest jakas rezerwacja
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tabela wygląda tak:
http://img33.imageshack.us/img33/1880/przechwytywaniexr.png dane http://img138.imageshack.us/img138/4688/pr...wytywaniedp.png struktura |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
1. zrob sobie tabenke, gdzie bedziesz mial liczby od 1 do (w pizdu). Nazwijmy ja liczby a pole lp.
2. SELECT * FROM liczby, tabelka WHERE liczby.lp<=DATEDIFF(EndTime, StartTime) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 23:08 |