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

Langage SQL Discussion :

Comment obtenir le Max de 3 champs


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de Daniel MOREAU
    Inscrit en
    Décembre 2004
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 372
    Points : 142
    Points
    142
    Par défaut Comment obtenir le Max de 3 champs
    Bonjour,

    Pour un client je veux connaitre la date la plus récente de son activité commerciale(Cde, bon livraison ou facture)

    Voici la syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT alvcustno, max(dlvorderdat) as dateCde, max(dlvblivdat) as datebl,max(dlvinvoicedat) as dateFac
    FROM dbo.LIG_VTE (nolock)
    where ALVITEMTYP ='a'
    group by alvcustno, ALVITEMTYP
    Voici le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CLI1	2006-05-09   2007-09-20	2007-09-27
    CLI2	2007-09-27   2007-09-28	2007-07-30
    CLI3	2003-06-16   2003-06-25	2003-06-27
    Jusque là tout va bien, mais maintenant comment obtenir la date la plus récente de ces trois champs (dans cette requête)

    Merci pour votre aide

    Daniel

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    il va falloir utiliser une sous requête.

    mais fonctionnellement je ne suis pas sûr de bien saisir, tu veux dire qu'il est possible que vous ayez livré ou facturé un client sans avoir de commande, puisque tu veux la min(date) entre les 3 ?

  3. #3
    Membre habitué Avatar de Daniel MOREAU
    Inscrit en
    Décembre 2004
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 372
    Points : 142
    Points
    142
    Par défaut
    oui c'est bien cela.

    Effectivement, on peut établir un Bon de livraison sans pour autant passer par une commende.

    Mon souci est que je ne sais pas intégrer une sous-requête dans une requête.

    Daniel

Discussions similaires

  1. Comment obtenir le MAX avec des lettres?
    Par menais dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/05/2014, 06h40
  2. Réponses: 4
    Dernier message: 14/05/2010, 16h29
  3. comment obtenir la liste des champs d'une table
    Par richard038 dans le forum SQL
    Réponses: 4
    Dernier message: 13/02/2009, 18h28
  4. Réponses: 10
    Dernier message: 10/08/2006, 15h44
  5. Réponses: 10
    Dernier message: 30/06/2006, 14h29

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