Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 231 Pomógł: 2 Dołączył: 2.08.2006 Skąd: Poznań Ostrzeżenie: (10%)
|
Witam,
w jaki sposób można na podstawie daty: 19:20:13 2010-08-06 odnaleźć poprzedni i następny wpis za pomocą zapytania postgresie. Datę jak i godzinę trzymam w tabeli w polu tabelka_data(DATE), tabelka_czas (TIME). (IMG:style_emoticons/default/smile.gif) Ten post edytował user123 7.08.2010, 22:10:40 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Robią problem. Sam z początku myślałem, że walnąć union i zapytanie w stylu
Ale to zapytanie zwróci fałszywe wyniki, ponieważ tabelka_czas obetnie nam prawidłowe wyniki jeśli rekordy kolejne będą z różnych dni, bo tabelka_czas nam wywali rekordy z następnego dnia sprzed godziny tabelka_czas, choć jakieś mogą być. Nie można także z WHERE wyrzucić sprawdzania po tabelka_czas bo wybierze wszystkie rekordy z tego dnia... Także wcześniejsze/późniejsze od niego. Rozbicie tego czasu na 2 kolumny było moim zdaniem nieprzemyślane trochę. Inna sprawa... Czy autor nie ma przypadkiem kolumny id z autoincrement? Przecież ona może zrobić za "datę". Wiele osób myśli tylko o datach, nie zauważając, że autoincrement może tę samą funkcję pełnić. Każdy kolejny rekord jest bowiem z wyższym numerem a więc i młodszy jednocześnie. Wystarczy więc wybrać najbliższy rekord o większym i mniejszym id, który może być wyświetlony userowi (to niekoniecznie o 1 mniejszy/większy) by rozwiązać problem. |
|
|
|
user123 Następny i poprzedni wpis w bazie według daty 7.08.2010, 22:09:20
zelu UNION SELECT + odpowiednie warunki dla kolejnych z... 7.08.2010, 23:14:32
user123 właśnie chodzi mi o te warunki w jaki sposób w pos... 7.08.2010, 23:22:21
thek Po prostu źle zrobiłeś na etapie projektowania. Ko... 8.08.2010, 11:25:39
cojack Thek ale jakoś nie widzę by te dwie kolumny robiły... 9.08.2010, 01:36:59
cojack thek ale ja dalej nie widzę problemu, dlaczego do ... 9.08.2010, 08:47:02
thek Postulujesz CONCAT_WS( ' ', tabelka_data, ... 9.08.2010, 11:05:30
cojack Jak wrócę do domu to się pobawię ;] Eeee to nie ta... 9.08.2010, 13:16:03
Zbłąkany A ja bym użył funkcji EXTRACT z warunkiem epoch na... 10.08.2010, 07:28:54
cojack Ja wymyśliłem tylko coś takiego:
[SQL] pobierz, p... 10.08.2010, 08:48:24 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 13:40 |