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

Requete SQL

2 réponses
Avatar
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

2 réponses

Avatar
Fred BROUARD
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. ;-)



Avatar
EmanuelL
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