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

MS SQL Server Discussion :

Pb requete avec MAX


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Par défaut Pb requete avec MAX
    Salut,
    J'ai un petit pb avec ma requete..
    Voila j'ai deux tables. Une table "client" qui contient les infos client (avec idclient) et une table "cre" qui contient les comptes rendus d'entretients avec le client (avec l'idclient et la date du compte rendu)
    J'aimerais pouvoir recuperer le dernier compte rendu mais j'ai une erreur...

    voila ma requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT P.IDCLIENT
    FROM         CLIENT P INNER JOIN
                          CRE C ON P.IDCLIENT = C.IDCLIENT
    WHERE     (C.DATE_RDV <= MAX(C.DATE_RDV))
    et ca me mets l'erreur :

    Un agregat ne peut pas apparaitre dans une clause where
    Merci de votre aide

  2. #2
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT P.IDCLIENT
    FROM         CLIENT P INNER JOIN
                          CRE C ON P.IDCLIENT = C.IDCLIENT
    GROUP BY P.IDCLIENT
    HAVING (C.DATE_RDV <= MAX(C.DATE_RDV))

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Par défaut
    Coucou BiMouXeTTe!

    J'ai essayé ton code mais ca me mets une erreur ....

    La colonne 'C.DATE_RDV' n'est pas valide dans la clause HAVING parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY

  4. #4
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Dans ce cas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT P.IDCLIENT 
    FROM         CLIENT P INNER JOIN 
                          CRE C ON P.IDCLIENT = C.IDCLIENT 
    GROUP BY P.IDCLIENT , C.DATE_RDV
    HAVING (C.DATE_RDV <= MAX(C.DATE_RDV))

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Par défaut
    Oki nikel merci!

    mais la fonction group by sert a quoi exactement??

  6. #6
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    De rien !

    Comme son nom l'indique, ça sert à grouper par nom d'attribut.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Par défaut
    euh en fait ca marche pas ...
    j'ai remarqué (en faisant un classement) que ca me ressort toutes les dates de rendez-vous et pas que les plus importantes....

  8. #8
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    J'avais pas lu ce que tu voulais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT
        P.IDCLIENT, MAX(C.DATE_RDV)
    FROM
        CLIENT P INNER JOIN CRE C ON P.IDCLIENT = C.IDCLIENT 
    GROUP BY
        P.IDCLIENT,
        C.DATE_RDV
    Et comme ça ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Par défaut
    Non malheureusement ca ne marche pas, ca me renvoit toutes les valeurs encore une fois....

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Par défaut
    ok bon bah j'ai trouvé... en fait faut pas mettre C.DATE_RDV dans le group by...

  11. #11
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Pourtant il me semblait qu'il fallait de préférence mettre tous les attributs affichés.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Par défaut
    ouaip je ne sais pas pouquoi ca marche, mais ca marche... :p

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

Discussions similaires

  1. Problème Requete avec MAX()
    Par kro001 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 12/04/2007, 08h54
  2. Requete avec max
    Par richard038 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 14/02/2007, 15h50
  3. [SQL Server] Requete avec MAX et group by
    Par joKED dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/01/2007, 13h00
  4. Requete avec max et group by
    Par Maxime555 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/07/2006, 11h48
  5. Requete avec Max
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 11
    Dernier message: 16/01/2006, 10h59

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