Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requête imbriquée

5 réponses
Avatar
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=EAte : SELECT Table1.Etabl, Table1.Energ, Table1.date FROM
Table1
WHERE (((Table1.date)=3D(SELECT Max(Table1.date) FROM Table1)));
me retourne une seule ligne... je n'y arrive pas...
Merci pour votre aide
Eric

5 réponses

Avatar
db
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
Avatar
Thierry
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
Avatar
db
Le 30/05/2011 19:21, Thierry a écrit :
Toujours aussi efficace db...
Cordialement
TG



Hum... Attendons l'avis du demandeur :-)
Avatar
zzzz
On 30 mai, 20:11, db wrote:
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...)
Avatar
Pogo
On 30 mai, 17:21, zzzz wrote:
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