phpbar.de logo

Mailinglisten-Archive

Re: joins ueber zeiten die nie uebereinstimmen?
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: joins ueber zeiten die nie uebereinstimmen?



Steffen Siegel wrote:
> 
> Hallo,
> Ich arbeite mit mysql 3.21.30 und habe verschiedene Tabellen mit
> jeweils einem Feld der Typen date und time.
> Jetzt das Problem: Die Zeiten der Tabellen sind alle unterschiedlich
> und ohne konstante Abstaende. Trotzdem muss ich einen Join der
> Tabellen ueber die Zeit hinbekommen. D.h. ein join a la
> where tab1.zeit = tab2 and tab1.datum = tab2.datumergaebe kein Ergebnis.
> Also braeuchte ich etwas der Art (ich habe datum und zeit in sec seit
> 1.1.1970 0.00Uhr im Feld numzeit abgelegt[geht das besser?]) :
> where tab1.numzeit between tab2.numzeit - x and tab2.numzeit + x
> Allerdings werden da einer Zeile aus tab1 meherer Zeilen aus
> tab2 zugeordnet (es sind ausserdem meist mehr als 2 Tabellen zu joinen)
> 
> Weiss jemand einen Rat?
> Danke und Tschues Steffen

Hallo Steffen

Mit 3.21.30 solltest Du Zeitangaben (DATE und TIME) am besten in eine Zahl umwandeln, und dann einfach mit <, >, <=, >= vergleichen.
Das Umwandeln hast Du offensichtlich schon geschafft. Allerdings haettest Du auch UNIX_TIMESTAMP(...) oder '+ 0' verwenden koennen, statt gleich eigene Spalten zu erzeugen.

Aus:
WHERE tab1.numzeit BETWEEN tab2.numzeit - x AND tab2.numzeit + x
wird also:
WHERE tab1.numzeit >= tab2.numzeit - x AND tab1.numzeit < tab2.numzeit + x

Tschau
Christian


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive