Vous le savez ça !

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

  1. 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
    1. attends je t'ai dit une connerie, je reviens...

      kinder.surprise,
      le maton du matou
    2. 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
  2. sous quel SGBD au fait?

    kinder.surprise,
    le maton du matou
    1. Oracle mon chocolat bleu :)

      </alicia_3107>
      1. (((((-:

        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
      2. @Utilisateur anonymeGROS BISOUS à toi e à tout le monde. Dis leur que je m'eclipse pour deux mois... Z'allez me manquer ! (: vraiment

        </alicia_3107>
      3. @alicia_3107bah où tu vas?

        kinder.surprise,
        le maton du matou
      4. @DaimonMaclandc'est qu'on est des intimes (-;

        kinder.surprise,
        le maton du matou