IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

[Requête]Problème avec requête max


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 67
    Points : 37
    Points
    37
    Par défaut [Requête]Problème avec requête max
    Bonjour à tous,

    J'ai un problème vraiment bizarre avec une requête MAX:

    J'ai une Table qui contient 4 champs: clé (identifiant), nom (Texte), prix (Monétaire), prix2 (Monétaire). Quand j'exécute la requête suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT clé, Nom, prix, Max(prix2) AS MaxDeprix2 FROM Table GROUP BY clé, Nom, prix;
    je n'ai aucun regroupement ni aucun tri qui se fait, toute la table est retournée telle quelle. Pourtant la requête me paraît correcte...

    Quelqu'un aurait-il une idée du pourquoi du comment?

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Pourquoi demander la clé dans ta requête ?
    S'il s'agit d'une clé genre numéro Auto, c'est tout à fait normal que toute la table soit restituée dans le résultat de la requête.

  3. #3
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    En 2 étapes :

    Faire une premiere requete qui va calculer le Max
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT Max(Table.prix2) AS MaxDeprix2 FROM [Table];
    Créer une 2eme requete avec la premiere et la table pour récupérer l'enregistrement correspondant à la valeur Max
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT Table.cle, Table.nom, Table.prix, Table.prix2
    FROM [Table] INNER JOIN RequêteMax ON Table.prix2 = RequêteMax .MaxDeprix2;

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 67
    Points : 37
    Points
    37
    Par défaut
    Merci helas, j'ai utilisé ta solution et ça marche très bien.



    PS: désolé d'avoir répondu si tard mais j'étais en vacances... Faut bien de temps en temps non?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec requète argument max()
    Par aloon dans le forum BIRT
    Réponses: 2
    Dernier message: 19/10/2007, 14h25
  2. Problème avec requête SQL avec variables
    Par harry25 dans le forum ASP
    Réponses: 1
    Dernier message: 03/01/2007, 03h41
  3. [VB6] Problème avec requête Update
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/02/2006, 03h40
  4. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 16h15
  5. [Requête] Problème avec fonction "DATE_FORMAT()"
    Par sekiryou dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2005, 21h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo