Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2011, 16h40   #1
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Par défaut Récupérer l'enregistrement le plus récent dans une requête

Bonjour à tous !

J'ai un petit souci sur une requête...
Je souhaite, dans ma requête, ne faire apparaitre que l'enregistrement le plus récent pour chaque Company, mais je ne sais pas quel critère je doit mettre pour que cela fonctionne....
Ci-dessous le code SQL de ma requête (sans le critère, donc):
Code :
1
2
SELECT COMPANY.CompanyARPID, COMPANY.CompanyName, COMPANY.CompanyCity, REF_COUNTRY.Country, REF_INDEPCAPTIVE.IndepCaptive, REF_QUALIF_STATUS.QualifStatus, COMPANY_HISTORICAL_DATA.OldValue, COMPANY_HISTORICAL_DATA.NewValue, COMPANY_HISTORICAL_DATA.ModificationDate
FROM REF_QUALIF_STATUS INNER JOIN (REF_INDEPCAPTIVE INNER JOIN (REF_COUNTRY INNER JOIN (COMPANY_HISTORICAL_DATA RIGHT JOIN COMPANY ON COMPANY_HISTORICAL_DATA.ARPID = COMPANY.CompanyARPID) ON REF_COUNTRY.CodeCountry = COMPANY.CompanyCountry) ON REF_INDEPCAPTIVE.CodeIndepCaptive = COMPANY.CompanyIndepCaptive) ON REF_QUALIF_STATUS.CodeQualifStatus = COMPANY.CompanyQualifStatus;
J'ai également mis en pièce jointe le jpg de ma requête.
Sachant que je souhaite faire apparaitre le "ModificationDate" le plus récent pour chaque "CompanyARPID, est-ce que quelqu'un pourrait m'aider, SVP?

Je vous remercie par avance.
MelaAllIn
Images attachées
Type de fichier : jpg Requete.jpg (224,0 Ko, 4 affichages)
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 17h47   #2
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
Bonjour,
Quelque chose comme :
Code :
1
2
3
SELECT COMPANY.CompanyARPID, COMPANY.CompanyName, COMPANY.CompanyCity, REF_COUNTRY.Country, REF_INDEPCAPTIVE.IndepCaptive, REF_QUALIF_STATUS.QualifStatus, COMPANY_HISTORICAL_DATA.OldValue, COMPANY_HISTORICAL_DATA.NewValue, COMPANY_HISTORICAL_DATA.ModificationDate
FROM REF_QUALIF_STATUS INNER JOIN (REF_INDEPCAPTIVE INNER JOIN (REF_COUNTRY INNER JOIN (COMPANY_HISTORICAL_DATA RIGHT JOIN COMPANY ON COMPANY_HISTORICAL_DATA.ARPID = COMPANY.CompanyARPID) ON REF_COUNTRY.CodeCountry = COMPANY.CompanyCountry) ON REF_INDEPCAPTIVE.CodeIndepCaptive = COMPANY.CompanyIndepCaptive) ON REF_QUALIF_STATUS.CodeQualifStatus = COMPANY.CompanyQualifStatus
WHERE COMPANY_HISTORICAL_DATA.ModificationDate=MaxDom ("[ModificationDate]"; "[COMPANY_HISTORICAL_DATA]"; "[ARPID]=" & [COMPANY]![CompanyARPID]);
Devrait marcher.

Cordialement.
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 18h24   #3
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Super, merci.
Je teste ça demain matin au boulot et je reviens vers vous.
Encore merci !
MelaAllIn
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 15h07   #4
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Bonjour à tous,

Je viens donc de tester la proposition de paidge, mais ça e fonctionne pas.
En effet, la fonction MaxDom renvoie uniquement la valeur max de "ModificationDate" sur toute la table. Or, je souhaite avoir le max de "ModificationDate", mais pour chaque "ARPID" de ma table COMPANY_HISTORICAL_DATA...

J'ai bien pensé utiliser la fonction SELECT...FROM...WHERE, mais je ne sais absolument pas commet faire...
Est-ce que quelqu'un aurait une idée?

D'avance merci.
MelaAllIn
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 15h36   #5
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Autant pour moi, j'avais fait une erreur, et la solution de paidge fonctionne nickel!
Merci encore.
MelaAllIn
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h27.


 
 
 
 
Partenaires

Hébergement Web