Vous le savez ça !

alicia_3107 Messages postés 4558 Statut Membre -  
 Utilisateur anonyme -
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. Utilisateur anonyme
     
    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
    1. Utilisateur anonyme
       
      attends je t'ai dit une connerie, je reviens...

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

    kinder.surprise,
    le maton du matou
    0
  3. alicia_3107 Messages postés 4558 Statut Membre 6
     
    Oracle mon chocolat bleu :)

    </alicia_3107>
    0
    1. Utilisateur anonyme
       
      (((((-:

      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
      1. alicia_3107 Messages postés 4558 Statut Membre 6 > Utilisateur anonyme
         
        GROS BISOUS à toi e à tout le monde. Dis leur que je m'eclipse pour deux mois... Z'allez me manquer ! (: vraiment

        </alicia_3107>
        0
      2. Utilisateur anonyme > alicia_3107 Messages postés 4558 Statut Membre
         
        bah où tu vas?

        kinder.surprise,
        le maton du matou
        0
      3. DaimonMacland Messages postés 12 Date d'inscription   Statut Membre 4 > Utilisateur anonyme
         
        Nan mais t bien curieux, toi...lol !
        0
      4. Utilisateur anonyme > DaimonMacland Messages postés 12 Date d'inscription   Statut Membre
         
        c'est qu'on est des intimes (-;

        kinder.surprise,
        le maton du matou
        0