Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> JOIN po polu DATETIME przy datach różniących się sekundami
jurcio6
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 4.11.2010

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


Witam.

Mam pewien problem - próbuję stworzyć zapytanie, które z trzech różnych tabel pobiera po 3 różne pola i joinem łączy je w jedną tabelę. Każda z tych tabel posiada pole typu DATETIME, po którym chciałbym zrobić tego JOINA, jednak istnieje zasadniczy problem: w tabelach odczyty pojawiają się raz na minutę, jednak zwykle sekundy odczytów w poszczególnych tabelach nie są ze sobą zgodne. Jak wykonać takiego JOIN'a, który by łączył tabele po minutach?

Przykład:
Mam tabele a, b, c z przykładowym rekordem:

tabela a
a1 | a2 | a3 | a4 | a5 | adt
1 | 1 | 1 | 1 | 1 | 2012-01-18 10:01:28

tabela b
b1 | b2 | b3 | b4 | b5 | bdt
1 | 1 | 1 | 1 | 1 | 2012-01-18 10:01:37

tabela c
c1 | c2 | c3 | c4 | c5 | cdt
1 | 1 | 1 | 1 | 1 | 2012-01-18 10:01:11

W rekordach poszczególnych tabel, jak widać, różnią się sekundy w polu DATETIME. Teraz jak zrobić zapytanie, które by zwróciło np. taki wynik:
a1 | a2 | b3 | b4 | c5 | dt
1 | 1 | 1 | 1 | 1 | 2012-01-18 10:01

Proszę o pomoc, bo nie mogę tego w żaden sposób zwalczyć.

P.S. Mam przy okazji tego jeszcze jedno pytanie - czy da się wykryć przyrost jakiejś wartości w tabeli? Chodzi konkretnie o pobranie wszystkich rekordów, w których stwierdzono przyrost/zatrzymanie przyrostu w stosunku do poprzedniej wartości.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




manual mysql: funkcje obsługi czasu. Tam masz funkcję do formatowania czasu. Formatujesz czas do minut i sobie porównujesz sformatowane czasy
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 09:44