Salut,
Je travaille sous MySQL 4.1.9 sous Windows.
Pour cette requete, on a besoin de 2 tables :
PARENT_FAM
id(pk)
role (pk)
IDENTITE
id
chgid (format date)
nom
pnom
Le but de la requete est de recuperer pour chaque personne le id(en fonction du role associé ),nom,pnoms le plus recent en fonction du champs chgid.
Dans la table PARENT_FAM , il faudrait selectionner uniquement les id dont le role n'est pas : "enfant".
Dans la table IDENTITE, certains champs d'une identite peuvent changer au cours du temps.
A chaque changement, on copie l'identite de la personne en changent le champs chgid
Ex:
id 2
chgid 01/01/1980
nom toto
pnom paul
id 2
chgid 01/01/2000
nom toto
pnom pierre
Donc en gros,pour chaque ID récuperée dans la table PARENT_FAM n'étant pas un enfant, il faut selectionner dans IDENTITE celui qui a le champ CHGID le plus recent.
J'avais commencé a faire ça, mais c'est totalement foireux....
SELECT parent_fam.id,MAX(chgid),nom,pnom
FROM identite, parent_fam
WHERE parent_fam.id= identite.id
GROUP BY parent_fam.id |
Je faisais pas le test sur le role , et en plus, ca me renvoyé pour chq ID le bon chgid, mais pas le bon nom,pnom.
Si vous pourriez m'aidez pls, ca serait cool, merci !