Requete SQL

Le
EmanuelL
Bonjour à Tous,

Comment peut-on faire une requete à partir de MA_TABLE qui peut
produire le résultat ci-dessous?

Sélection uniquement de lignes qui contienent les dernières date de
DATE_VALIDATION.

MA_TABLE

PRODUIT_ID PRIX DATE_VALIDATION
1 10.00 2006-01-01
2 99.00 2006-05-01
3 57.05 2007-04-15
1 10.50 2007-01-01
1 09.00 2007-03-07
4 22.00 2007-04-01
2 100.05 2007-04-01
2 100.20 2008-01-01
5 7.00 2008-01-01

Résultat:
-
PRODUIT_ID PRIX DATE_VALIDATION
1 09.00 2007-03-07
2 100.20 2008-01-01
3 57.05 2007-04-15
4 22.00 2007-04-01
5 7.00 2008-01-01

Merci d'avance. ;-)

--

*!* --
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
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
Fred BROUARD
Le #18312551
SELECT *
FROM MA_TABLE AS T1
WHERE DATE_VALIDATION = (SELECT MAX(DATE_VALIDATION)
FROM MA_TABLE AS T2
WHERE T1.PRODUIT_ID = T2.PRODUIT_ID)

Et pour vous former à SQL, lisez mes bouquins, ou parcourez mon site web !

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************



EmanuelL a écrit :
Bonjour à Tous,

Comment peut-on faire une requete à partir de MA_TABLE qui peut produire
le résultat ci-dessous?

Sélection uniquement de lignes qui contienent les dernières date de
DATE_VALIDATION.

MA_TABLE
------------------------------------
PRODUIT_ID PRIX DATE_VALIDATION
1 10.00 2006-01-01
2 99.00 2006-05-01
3 57.05 2007-04-15
1 10.50 2007-01-01
1 09.00 2007-03-07
4 22.00 2007-04-01
2 100.05 2007-04-01
2 100.20 2008-01-01
5 7.00 2008-01-01

Résultat:
-------------------------------------
PRODUIT_ID PRIX DATE_VALIDATION
1 09.00 2007-03-07
2 100.20 2008-01-01
3 57.05 2007-04-15
4 22.00 2007-04-01
5 7.00 2008-01-01

Merci d'avance. ;-)



EmanuelL
Le #18313091
Merci beaucoup, ça marche.
Oui, je lis souvent vos écris quand j'ai le temps, là c'était une
urgence et je n'arrivais pas à chercher plus loins par moi même.

Merci encore et A+. ;-)

Le 06.01.2009, Fred BROUARD a supposé :
SELECT *
FROM MA_TABLE AS T1
WHERE DATE_VALIDATION = (SELECT MAX(DATE_VALIDATION)
FROM MA_TABLE AS T2
WHERE T1.PRODUIT_ID = T2.PRODUIT_ID)

Et pour vous former à SQL, lisez mes bouquins, ou parcourez mon site web !

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************



EmanuelL a écrit :
Bonjour à Tous,

Comment peut-on faire une requete à partir de MA_TABLE qui peut produire le
résultat ci-dessous?

Sélection uniquement de lignes qui contienent les dernières date de
DATE_VALIDATION.

MA_TABLE
------------------------------------
PRODUIT_ID PRIX DATE_VALIDATION
1 10.00 2006-01-01
2 99.00 2006-05-01
3 57.05 2007-04-15
1 10.50 2007-01-01
1 09.00 2007-03-07
4 22.00 2007-04-01
2 100.05 2007-04-01
2 100.20 2008-01-01
5 7.00 2008-01-01

Résultat:
-------------------------------------
PRODUIT_ID PRIX DATE_VALIDATION
1 09.00 2007-03-07
2 100.20 2008-01-01
3 57.05 2007-04-15
4 22.00 2007-04-01
5 7.00 2008-01-01

Merci d'avance. ;-)






--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Publicité
Poster une réponse
Anonyme