Requete (max, group by,...) [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 10-05-2005 à 16:03:27
G eu presque le meme pb y'a quelques temps, si tu enlèves le max et que tu fais un ORDER BY chgid DESC ça peut peut-être marcher ? si tu veux quelque chose d'optimisé c pas à moi qu'il faut demander par contre
EDIT: je viens de relire j'avais pas bien capté le but de la requête oublie-moi..
Marsh Posté le 10-05-2005 à 19:49:02
Code :
|
essaye un peu cela, en tt cas c'est vers ce genre de chose que tu dois t'orienté, c'est pas évident de pondre une requete sql sans pour autant connaitre bien la bd et le faire sur papier c'est pas mon fort
j'espere t'avoir quand mm aidé un peu
Marsh Posté le 11-05-2005 à 11:25:07
moi23372 a écrit :
|
Nikel ! Ca marche, tu m enleves un belle epine la, jte remercie
++
Marsh Posté le 10-05-2005 à 15:41:12
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 !