Sql et date

cs_sidalilo Messages postés 108 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 9 juillet 2013 - 29 mars 2009 à 16:39
tstjagger Messages postés 1 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 6 avril 2009 - 6 avril 2009 à 10:13
bonjour..


je travail sur une base de données paradox avec sql en delphi et je veux afficher les dernieres dates pour chaque enregistrement sauvegardé dans la base de données,ca veut dire les maximales date pour chaqu'un


pour bien expliquer si un enregistrement des enregistrements possede la date d'aujourdhui alors sa date maximale va étre afficher est la date d'aujourdhui biensur avec ses informations.


exemple:



Symbole   Achat    Vente         Date

Euro        112      113          20/03/2009
Euro        112.3     113.5     25/03/2009
Euro        112.2     113.4     29/03/2009
SUD        80         90           10/03/2009
SUD        80.5      90.5        15/03/2009

maintenant le resultat je veux en sql  c'est:
Euro        112.2     113.4     29/03/2009
SUD        80.5      90.5        15/03/2009
 j'espere que vous avez compris mon probleme et je vous remercie toujour pour votre attention et je attend votre reponse.
cordialement sidalilo.

5 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
29 mars 2009 à 23:09
SELECT * FROM table WHERE symbole = 'Euro' SORT BY date ASC LIMIT 1,1
SELECT * FROM table WHERE symbole = 'SUD' SORT BY date ASC LIMIT 1,1

<hr size="2" width="100%" />
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
30 mars 2009 à 00:31
bonsoir,
la réponse à fOxi, c'est 2 requêtes.
si u veux le tout dans une seule requête, penser à

SELECT devise, achat, vente, date FROM table WHERE symbole = 'Euro' SORT BY date ASC LIMIT 1,1
UNION
SELECT devise, achat, vente, date  FROM table WHERE symbole = 'SUD' SORT BY date ASC LIMIT 1,1
order by ...

bonne nuit
0
cs_sidalilo Messages postés 108 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 9 juillet 2013
30 mars 2009 à 10:47
SELECT devise, achat, vente, date FROM table WHERE symbole = 'Euro' SORT BY date ASC LIMIT 1,1
UNION
SELECT devise, achat, vente, date  FROM table WHERE symbole = 'SUD' SORT BY date ASC LIMIT 1,1
order by ...

merci bien pour votre reponse mais j'ai essayé cette requete en delphi sur un fichier paradox et ca marche pas.
l'erreur affichée c'est 'utilisation incorrecte pour element LIMIT'
voila ma requete en delphi:

q1.active:=false;
q1.sql.clear;
q1.sql.add('SELECT devise, achat, vente, date FROM mydate WHERE symbole = ''Euro''');
q1.sql.add('ORDER BY date ASC LIMIT 1,1');
q1.active:=true;
DBGrid1.datasource:=datasource3;

j'espere que vous avez compris mon probleme.
autre question:
j'au utilisé une autre requete est ce que c'est juste si c'est pas juste veuillez corriger la SVP:
q1.active:=false;
q1.sql.clear;
q1.sql.add('SELECT Symbole,date,Achat,Vente');
q1.sql.add('FROM refer,mydate1 WHERE  mydate1.date=(SELECT MAX(date)  FROM mydate1 WHERE refer.Symbole=mydate1.Symbole and mydate1.date<='''+'''+(date)+'''+''')');
sachant que le probleme toujour dans  :mydate1.date<='''+'''+(date)+'''+''')');
merci encore pour votre attention.
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
4 avril 2009 à 11:22
"date" est un mot réservé du SQL.
Nommer un champ avec un mot réservé n'est assurément pas une bonne idée, d'autant plus que, pour un autre développeur, on sera nécessairement amené à se poser la question : une date ? ok, mais la date de quoi ?

May Delphi be with you<hr />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tstjagger Messages postés 1 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 6 avril 2009
6 avril 2009 à 10:13
Salut. En fait il faut utiliser deux requetes:


SELECT t.symbole, t.achat, t.vente, t.date FROM table t,
(SELECT symbole, max(date) as date1 FROM table  group by symbole) Q where t.symbole=Q.symbole
0
Rejoignez-nous