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 10/02/2012, 16h27   #1
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 271
Points : 32
Points : 32
Par défaut Difficulté pour faire une requête

Bonjour,

Voila je dois faire une req et je ne sais pas comment me prendre…
Dans une table, j'ai un historique de cours de devise eur/usd (un enregistrement par date).
Voici une extraction :
Code :
1
2
3
4
5
6
7
8
9
 
 
EUR/USD	1.3	1/1/2012
EUR/USD	1.32	2/1/2012
EUR/USD	1.33	3/1/2012
EUR/USD	1.34	4/1/2012
EUR/USD	1.34	5/1/2012
EUR/USD	1.34	6/1/2012
EUR/USD	1.34	7/1/2012
Je veux faire une req qui me donne la date à partir de laquelle le cours est invariable (dans mon ex. le 4/1/2012)

merci.
ouinih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 17h38   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 318
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 318
Points : 1 586
Points : 1 586
bonjour,

comme ceci ?

Code :
1
2
3
4
5
 
SELECT TOP 1 Min(tHisto.hdate) AS MinDate, tHisto.hvaleur
FROM tHisto
GROUP BY tHisto.hvaleur
ORDER BY Max(tHisto.hdate) DESC;
@+

Philippe
philben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 18h48   #3
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 271
Points : 32
Points : 32
merci bcp, la req fonctionne dans le cas général mais dans le cas suivant ça me retourne une mauvaise selection :

Code :
1
2
3
4
5
6
7
8
 
EUR/USD	1.3	1/1/2012
EUR/USD	1.32	2/1/2012
EUR/USD	1.33	3/1/2012
EUR/USD	1.35	4/1/2012
EUR/USD	1.36	5/1/2012
EUR/USD	1.37	6/1/2012
EUR/USD	1.32	7/1/2012
dans ce cas, la req me retourne 1.32 2/1/2012, alors qu'il ne faut pas car mon indice a bougé entre temps...
ouinih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 22h23   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 318
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 318
Points : 1 586
Points : 1 586
bonjour,

Une autre solution si chaque date à une valeur et s'il existe au moins 2 lignes dans la table :

Code :
1
2
3
4
 
SELECT Max(hdate)+1 AS MinDate
FROM thisto
WHERE (thisto.hvaleur<>(SELECT TOP 1 hValeur FROM tHisto ORDER BY hDate DESC));
@+

Philippe
philben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 16h09   #5
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 271
Points : 32
Points : 32
Je ne vois pas l'intérêt du +1 dans le select

merci
ouinih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 19h34   #6
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 271
Points : 32
Points : 32
y-t-il un moyen de faire evoluer la requête pour tenir compte du cas particulier (présence de plusieurs lignes)

merci
ouinih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 19h09   #7
Membre Expert
 
Inscription : avril 2006
Messages : 1 318
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 318
Points : 1 586
Points : 1 586
Bonjour,

Citation:
Je ne vois pas l'intérêt du +1 dans le select
c'est pour répondre à la question du 1er post :
Citation:
Je veux faire une req qui me donne la date à partir de laquelle le cours est invariable (dans mon ex. le 4/1/2012)
Citation:
y-t-il un moyen de faire evoluer la requête pour tenir compte du cas particulier (présence de plusieurs lignes)
Le mieux serait de me soumettre exactement ce que tu veux, ça m'évitera de jouer au ping pong.

Philippe
philben est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h24.


 
 
 
 
Partenaires

Hébergement Web