Vous le savez ça !

Fermé
alicia_3107 Messages postés 4546 Date d'inscription lundi 8 octobre 2001 Statut Membre Dernière intervention 17 février 2015 - 7 avril 2002 à 10:53
 Utilisateur anonyme - 8 avril 2002 à 19:53
Bonjour !

Je me perd un peu dans les requêtes SQL imbriquées

Voilà, soit la table suivante : table_prix

_______________________________
| ARTICLE | PRIX | DATES_PRIX |
_______________________________
| ART001 | 9,11 | 01/01/2002 |
_______________________________
| ART001 | 6,11 | 02/03/2002 |
_______________________________

| ART002 | 5,22 | 11/05/2002 |
_______________________________
| ART002 | 4,22 | 26/05/2002 |
_______________________________
| ART002 | 3,22 | 13/06/2002 |
_______________________________

| ART003 | 7,33 | 21/01/2002 |
_______________________________
| ART003 | 8,33 | 16/04/2002 |
_______________________________

Elle contient les prix que peut avoir un article ART00X à des périodes différentes (des dates)

Je voudrais sélectionner pour chaque article uniquement le prix le plus récent (de la date la plus récente, MAX(DATES_PRIX))

Le résultat devrait être le suivant :
_______________________________
| ARTICLE | PRIX | DATES_PRIX |
_______________________________
| ART001 | 6,11 | 02/03/2002 |
_______________________________
| ART002 | 3,22 | 13/06/2002 |
_______________________________
| ART003 | 8,33 | 16/04/2002 |
_______________________________

Quelle est la syntaxe exacte de la requête SQL à exécuter ?

Merci de me répondre :)

</alicia_3107>

3 réponses

Utilisateur anonyme
7 avril 2002 à 13:34
faut faire un regroupement, ça donnerait un truc du genre

SELECT ARTICLE, PRIX, MAX(DATES_PRIX)
FROM TABLE_PRIX
GROUP BY ARTICLE

attends je vérifie, je reviens...

kinder.surprise,
le maton du matou
0
Utilisateur anonyme
7 avril 2002 à 13:40
attends je t'ai dit une connerie, je reviens...

kinder.surprise,
le maton du matou
0
Utilisateur anonyme
7 avril 2002 à 14:04
Ok voilà:

SELECT ARTICLE, PRIX
FROM TABLE_PRIX T1
GROUP BY ARTICLE, PRIX, DATES_PRIX
HAVING DATES_PRIX=(SELECT MAX(DATES_PRIX) FROM TABLE_PRIX T2 WHERE T2.ARTICLE=T1.ARTICLE);

il y a peut-être plus simple, mais ça en tout cas c'est ok...

kinder.surprise,
le maton du matou
0
Utilisateur anonyme
7 avril 2002 à 14:07
sous quel SGBD au fait?

kinder.surprise,
le maton du matou
0
alicia_3107 Messages postés 4546 Date d'inscription lundi 8 octobre 2001 Statut Membre Dernière intervention 17 février 2015 6
7 avril 2002 à 15:27
Oracle mon chocolat bleu :)

</alicia_3107>
0
Utilisateur anonyme
7 avril 2002 à 16:24
(((((-:

ouais ça devrait tourner sous Oracle mais comme il est puissant il a peut-être un raccourcis pour ce genre de truc...

bisou du chocolat bleu

kinder.surprise,
chocolat bleu
0
alicia_3107 Messages postés 4546 Date d'inscription lundi 8 octobre 2001 Statut Membre Dernière intervention 17 février 2015 6 > Utilisateur anonyme
8 avril 2002 à 09:09
GROS BISOUS à toi e à tout le monde. Dis leur que je m'eclipse pour deux mois... Z'allez me manquer ! (: vraiment

</alicia_3107>
0
Utilisateur anonyme > alicia_3107 Messages postés 4546 Date d'inscription lundi 8 octobre 2001 Statut Membre Dernière intervention 17 février 2015
8 avril 2002 à 09:22
bah où tu vas?

kinder.surprise,
le maton du matou
0
DaimonMacland Messages postés 12 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 10 avril 2002 4 > Utilisateur anonyme
8 avril 2002 à 19:29
Nan mais t bien curieux, toi...lol !
0
Utilisateur anonyme > DaimonMacland Messages postés 12 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 10 avril 2002
8 avril 2002 à 19:53
c'est qu'on est des intimes (-;

kinder.surprise,
le maton du matou
0