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