!!! Kruimeltje weetjes


* backup maken database:
{{{mysqldump krmdb --no-create-db --no-create-info -u root -p > mysqldumpkrm.sql}}}
* "unload" van database:
{{{
mysql> select * from peuter where datumtijdlaatstgewijzigd > '2007-06-25 07:00:00' order by nummer into outfile '/tmp/krmexport.sql' FIELDS TERMINATED BY '||' enclosed by '"' lines terminated by '\n';
Query OK, 62 rows affected (0.01 sec)
}}}
* weer laden van unload:
{{{
mysql> load data infile '/home/metskem/krmexport.sql' replace into table peuter FIELDS TERMINATED BY '||' enclosed by '"' lines terminated by '\n';
Query OK, 124 rows affected (0.01 sec)
Records: 62  Deleted: 62  Skipped: 0  Warnings: 0
}}}

!! Queries
|Tel alle peuters |''select count(*) from peuter;''
|Tel alle actieve peuters|''select count(*) from peuter where datumeerstebezoek<curdate() and datumlaatstebezoek > curdate();''
|Tel alle actieve peuters per vestiging:|?
|Overzicht overjarige peuters|select peuter.nummer,voornaam,achternaam,adres,telnr,geboortedatum,(select naam from groep where groep.nummer=peuter.groep1) as groep1,(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging1,(select naam from groep where groep.nummer=peuter.groep2) as groep2,(select vestiging from groep where groep.nummer=peuter.groep2) as vestiging2,datumeerstebezoek as eerstebezoek,datumingeschreven as ingeschreven,datumlaatstebezoek as laatstebezoek,opmerking from peuter where datumlaatstebezoek>curdate() and datumeerstebezoek<curdate() order by geboortedatum,achternaam,voornaam;
|Groep overzicht MA2 ZPW|select peuter.nummer,peuter.voornaam,peuter.achternaam,peuter.adres,peuter.postcode,peuter.woonplaats,peuter.telnr,peuter.geboortedatum from peuter where datumeerstebezoek<=curdate() and datumlaatstebezoek>curdate() and (peuter.groep1=(select nummer from groep where naam='MA2' and vestiging='ZevenPeggenweg') or peuter.groep2=(select nummer from groep where naam='MA2' and vestiging='ZevenPeggenweg')) order by geboortedatum;
|Alle actieve peuters op de Hoeksteen|select peuter.nummer,peuter.voornaam,peuter.achternaam from peuter where datumeerstebezoek<=curdate() and datumlaatstebezoek>curdate() and (peuter.groep1 in (select nummer from groep where vestiging='Hoeksteen') or peuter.groep2 in (select nummer from groep where vestiging='Hoeksteen'));
|aantal peuters per groep vanaf datum xxx|select groep.naam,groep.vestiging,count(*) as aantal,min(datumeerstebezoek) as 'eerste eerstebezoek', max(datumeerstebezoek) as 'laatste eerstebezoek' from groep,peuter where (peuter.groep1=groep.nummer or peuter.groep2=groep.nummer) and peuter.datumeerstebezoek<='2009-09-01' and peuter.datumlaatstebezoek>'2009-09-01' group by groep.vestiging,groep.naam;

!! Jaarlijkse rapportage

De volgende SQL statements zijn handig voor het maken van de jaarlijkse rapportage:

%%small
{{{
# aantal peuters per vestiging voor elke maand:
select "2007-04",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-04-01" and datumlaatstebezoek>"2007-04-30" group by vestiging desc;
select "2007-05",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-05-01" and datumlaatstebezoek>"2007-05-31" group by vestiging desc;
select "2007-06",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-06-01" and datumlaatstebezoek>"2007-06-30" group by vestiging desc;
select "2007-07",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-07-01" and datumlaatstebezoek>"2007-07-31" group by vestiging desc;
select "2007-08",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-08-01" and datumlaatstebezoek>"2007-08-31" group by vestiging desc;
select "2007-09",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-09-01" and datumlaatstebezoek>"2007-09-30" group by vestiging desc;
select "2007-10",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-10-01" and datumlaatstebezoek>"2007-10-31" group by vestiging desc;
select "2007-11",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-11-01" and datumlaatstebezoek>"2007-11-30" group by vestiging desc;
select "2007-12",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-12-01" and datumlaatstebezoek>"2007-12-31" group by vestiging desc;
select "2008-01",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2008-01-01" and datumlaatstebezoek>"2008-01-31" group by vestiging desc;
select "2008-02",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2008-02-01" and datumlaatstebezoek>"2008-02-28" group by vestiging desc;
select "2008-03",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2008-03-01" and datumlaatstebezoek>"2008-03-31" group by vestiging desc;

# dubbelpeuters per vestiging:
select "2007-04",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-04-01" and datumlaatstebezoek>"2007-04-30" and  groep2 is not NULL group by vestiging desc;
select "2007-05",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-05-01" and datumlaatstebezoek>"2007-05-31" and  groep2 is not NULL group by vestiging desc;
select "2007-06",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-06-01" and datumlaatstebezoek>"2007-06-30" and  groep2 is not NULL group by vestiging desc;
select "2007-07",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-07-01" and datumlaatstebezoek>"2007-07-31" and  groep2 is not NULL group by vestiging desc;
select "2007-08",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-08-01" and datumlaatstebezoek>"2007-08-31" and  groep2 is not NULL group by vestiging desc;
select "2007-09",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-09-01" and datumlaatstebezoek>"2007-09-30" and  groep2 is not NULL group by vestiging desc;
select "2007-10",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-10-01" and datumlaatstebezoek>"2007-10-31" and  groep2 is not NULL group by vestiging desc;
select "2007-11",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-11-01" and datumlaatstebezoek>"2007-11-30" and  groep2 is not NULL group by vestiging desc;
select "2007-12",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2007-12-01" and datumlaatstebezoek>"2007-12-31" and  groep2 is not NULL group by vestiging desc;
select "2007-01",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2008-01-01" and datumlaatstebezoek>"2008-01-31" and  groep2 is not NULL group by vestiging desc;
select "2007-02",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2008-02-01" and datumlaatstebezoek>"2008-02-28" and  groep2 is not NULL group by vestiging desc;
select "2007-03",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) from peuter where datumingeschreven<"2008-03-01" and datumlaatstebezoek>"2008-03-31" and  groep2 is not NULL group by vestiging desc;

# $2005_2006.$A$3:$B$16;$2005_2006.$E$3:$E$16;$2005_2006.$H$3:$H$16file:///home/metskem/mySQL/krm1.sql

}}}
%%