phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Re:_=5Bphp=5D_Doofer_MySQL_Timestamp_SELECT_=28f=FCr_tob?= =?iso-8859-1?Q?i=29?= =?iso-8859-1?Q?i=29?=

[php] =?iso-8859-1?Q?Re:_=5Bphp=5D_Doofer_MySQL_Timestamp_SELECT_=28f=FCr_tob?= =?iso-8859-1?Q?i=29?= =?iso-8859-1?Q?i=29?=

Martin Franz martin_(at)_franz63.de
Wed, 17 Jan 2001 01:07:56 +0100


 Hoi Alle,
Ich hab jetzt ne Lösung,

> > In der Veranstaltungsdatenbank kann mit jedem Datensatz maximal ein Tag
> > beschrieben werden, das heisst wenn jetzt eine Veranstaltung 5 Tage
> > dauert, hat sie auch 5 Datensätze. Angenommen diese Veranstaltung findet
aber
> > jetzt mehrmals im Jahr statt - sozusagen in mehreren Blöcken.
> > Selecten will ich nun immer nur den Anfang und das Ende jedes Blockes -
so
> > dass ich als output dann:
>
> > row1 veranstaltung start
> > row2 veranstaltung ende //Block 1
> > row3 veranstaltung start
> > row4 veranstaltung ende //Block2
> > erhalte.
>

der Query ist zwar nicht grad der feinste, aber er geht:
------------------------------------
SELECT count(*) as anzahl, a.vdatumvon, a.vatitel
FROM verkalender a LEFT JOIN verkalender b ON a.vnr = b.vnr
WHERE
(
 dayofyear(a.vdatumvon) - dayofyear(b.vdatumvon) = 1
 OR dayofyear(a.vdatumvon) - dayofyear(b.vdatumvon) = -1
)
GROUP BY a.vdatumvon
HAVING anzahl = 1
ORDER BY a.vdatumvon
-------------------------------------

tobi, hab ihn getestet - beim oktoberfest geht er, vielleicht mal
ausprobieren wies bei ner Veranstaltung geht die öfters im Jahr vorkommt.
Ausgabe z.b.: bei Oktoberfest:
    -> go
+-----+----------------+------------------------+
| anzahl | vdatumvon      | vatitel                |
+-----+----------------+------------------------+
|   1 | 20000928000000 | Oktoberfest in München |
|   1 | 20001003000000 | Oktoberfest in München |
+-----+----------------+------------------------+
2 rows in set (0.02 sec)

2 Zeilen, die erste ist Anfang, die zweite Ende.
bei mehreren Events im Jahr sollte immer abwechselnd anfang/ende kommen.
n8 allerseits,
martin



php::bar PHP Wiki   -   Listenarchive