requête imbriquée

Le
zzzz
Bonjour,
A partir de cette table :
Etabl Energ date
0750379E Fuel 21/08/2010
0750379E UC 22/04/2010
0750379E Autre 01/10/2010
0750419Y UC 26/07/2010
0750436S Fuel 08/07/2010
0750436S Autre 08/09/2010

je souhaite obtenir :
Etabl Energ date
0750379E Autre 01/10/2010
0750419Y UC 26/07/2010
0750436S Autre 08/09/2010
ma requête : SELECT Table1.Etabl, Table1.Energ, Table1.date FROM
Table1
WHERE (((Table1.date)=(SELECT Max(Table1.date) FROM Table1)));
me retourne une seule ligne je n'y arrive pas
Merci pour votre aide
Eric
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #23402731
Le 30/05/2011 17:21, zzzz a écrit :
Bonjour,
A partir de cette table :
Etabl Energ date
0750379E Fuel 21/08/2010
0750379E UC 22/04/2010
0750379E Autre 01/10/2010
0750419Y UC 26/07/2010
0750436S Fuel 08/07/2010
0750436S Autre 08/09/2010

je souhaite obtenir :
Etabl Energ date
0750379E Autre 01/10/2010
0750419Y UC 26/07/2010
0750436S Autre 08/09/2010
ma requête : SELECT Table1.Etabl, Table1.Energ, Table1.date FROM
Table1
WHERE (((Table1.date)=(SELECT Max(Table1.date) FROM Table1)));
me retourne une seule ligne... je n'y arrive pas...
Merci pour votre aide
Eric




Si j'ai bien compris la demande, la requête pourrait ressembler à :

SELECT Table1.Etabl, Table1.Energ, Table1.date FROM
Table1
WHERE Table1.date=(SELECT Max(Table2.date) FROM Table1 as table2
where table2.etabl=table1.etabl);

db
Thierry
Le #23402851
Toujours aussi efficace db...
Cordialement
TG

"db" a écrit dans le message de groupe de discussion :
4de3c1e1$0$18585$

Le 30/05/2011 17:21, zzzz a écrit :
Bonjour,
A partir de cette table :
Etabl Energ date
0750379E Fuel 21/08/2010
0750379E UC 22/04/2010
0750379E Autre 01/10/2010
0750419Y UC 26/07/2010
0750436S Fuel 08/07/2010
0750436S Autre 08/09/2010

je souhaite obtenir :
Etabl Energ date
0750379E Autre 01/10/2010
0750419Y UC 26/07/2010
0750436S Autre 08/09/2010
ma requête : SELECT Table1.Etabl, Table1.Energ, Table1.date FROM
Table1
WHERE (((Table1.date)=(SELECT Max(Table1.date) FROM Table1)));
me retourne une seule ligne... je n'y arrive pas...
Merci pour votre aide
Eric




Si j'ai bien compris la demande, la requête pourrait ressembler à :

SELECT Table1.Etabl, Table1.Energ, Table1.date FROM
Table1
WHERE Table1.date=(SELECT Max(Table2.date) FROM Table1 as table2
where table2.etabl=table1.etabl);

db
db
Le #23402991
Le 30/05/2011 19:21, Thierry a écrit :
Toujours aussi efficace db...
Cordialement
TG



Hum... Attendons l'avis du demandeur :-)
zzzz
Le #23404101
On 30 mai, 20:11, db
Le 30/05/2011 19:21, Thierry a écrit :

> Toujours aussi efficace db...
> Cordialement
> TG

Hum... Attendons l'avis du demandeur :-)



Merci bcp, ça marche (il a fallu que je retourne au bureau...)
Pogo
Le #23435011
On 30 mai, 17:21, zzzz
Bonjour,
A partir de cette table :
Etabl     Energ date
0750379E        Fuel     21/08/2010
0750379E        UC       22/04/2010
0750379E        Autre 01/10/2010
0750419Y        UC       26/07/2010
0750436S        Fuel     08/07/2010
0750436S        Autre    08/09/2010

je souhaite obtenir :
Etabl     Energ date
0750379E        Autre    01/10/2010
0750419Y        UC       26/07/2010
0750436S        Autre 08/09/2010
ma requête : SELECT Table1.Etabl, Table1.Energ, Table1.date FROM
Table1
WHERE (((Table1.date)=(SELECT Max(Table1.date) FROM Table1)));
me retourne une seule ligne... je n'y arrive pas...
Merci pour votre aide
Eric



Bonjour,

Le Sql suivant devrait donner un résultat similaire

SELECT etab, Last(Energie), Last(date) FROM table1 GROUP BY etab


Ici, il n'y a pas de sous requete SQL, les temps de traitements
devraient être plus rapide.


cdlt
Pascal
Publicité
Poster une réponse
Anonyme