Mailinglisten-Archive |
Norbert Pfeiffer [mailto:norbert at itbw.de] schrieb:
>
> Hi Robert,
>
> mir fallen dazu drei Wege ein:
>
> 1. man fragt pro Monat die DB mit einem SQL-Statement ab
> SELECT SUM(*)
> FROM EinAustritte
> WHERE Eintritt <= $monat
> AND Austritt >= $monat
>
> 2. man erzeugt eine temporaere einspaltige Tabelle die nur
> die gewuenschten Monate beinhaltet und fragt dann:
> SELECT b.monat, SUM(*)
> FROM EinAustritte AS a, Belegschaft AS b
> WHERE a.Eintritt <= b.monat
> AND a.Eintritt <= b.monat
> GROUP BY b.monat;
>
> Also suche Dir was aus ... :-)
>
>
Danke.
Der 2. Ansatz hatt mir auf die Sprünge geholfen.
Wobei ich jetzt keine temporaere Tabelle erstelle, sondern eine fixe
Tabelle mit den Monaten von Beginn an bis ins Jahr 2010 ('1998/01',
'1998/02' usw.) erstellte.
Die Abfrage sieht jetzt so aus:
SELECT b.Monat, COUNT(*)
FROM EinAustritte AS a, Monatsliste AS b
WHERE DATE_FORMAT(a.Eintritt, '%y/%m') <= b.Monat
AND (DATE_FORMAT(a.Austritt, '%y/%m') >= b.Monat OR
ISNULL(a.Austritt))
AND b.Monat >= $ZeitraumVon
AND b.Monat <= $ZeitraumBis
GROUP BY b.monat;
Danke noch mal an alle,
Servus und Baba
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive