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 :

select max avec conditions


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Cadre
    Inscrit en
    Septembre 2013
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Cadre
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 83
    Points : 65
    Points
    65
    Par défaut select max avec conditions
    Bonjour à tous,
    mon problème est le suivant:
    j'ai une table avec des ordres de fabrication (of) en 1ere colonne
    des numéros d'opérations (Phases) de 1 à 10 en 2ème colonne dont quelques unes sont finies,
    des noms d'opérations (postes) en 3ème colonne.

    je voudrai lister tous les of avec leur 1ère des op restant à faire + le nom de cette op.

    Dans ma requête actuelle, j'obtiens bien la 1ère op avec son poste mais aussi les suivantes.

    Merci d'avance

    AT

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    566
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 566
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Je n'ai pas très bien compris ta demande.

    Pour obtenir une demande rapide et efficace, il serait bien de retenir les règles du forum.
    1. Indiquer la base de donner utilisée ;
    2. Présenter le schéma des tables ;
    3. Montrer la requête déjà réalisée et qui ne fonctionne pas ou qui ne donne pas le résultat espéré ;
    4. Donner un exemple du résultat souhaité.

    Avec ces éléments, les spécialistes du SQL te donneront une ou plusieurs solutions ou la direction que tu doit utiliser pour obtenir un résultat satisfaisant.

    Après relecture, je pense que tu espères un résultat comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      OF     Phase            Nom
       1        5             Nom 1
       2        3             Nom 2
       3        9             Nom 3
    Pour obtenir ce résultat, une requête de ce type doit pouvoir répondre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Ordre, Nom, Max(Phase) as Niveau
    FROM Nom_Table
    GROUP BY Ordre, Nom
    HAVING MAX(Phase) < 10
    Je n'ai pas testé

    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Cadre
    Inscrit en
    Septembre 2013
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Cadre
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 83
    Points : 65
    Points
    65
    Par défaut
    Bonjour et merci pour votre réponse.
    Ci-dessous un extrait de la table en question:
    of    ph    poste    Statut    Cmde
    272    2    AJU_ITF    Soldée    
    272    8    PREP_ITF    Soldée    
    272    9    CNT_FINAL    Soldée    
    272    10    MAG_MP    Lancée    
    272    20    MSY            Lancée    
    272    500    CNT_FINAL    Lancée    
    8771    2    AJU_ITB    Soldée    
    8771    8    PREP_ITF    Soldée    
    8771    10    MAG_MP    Soldée    
    8771    20    AJU_ITB    Lancée    
    8771    30    AJU_ITB    Lancée    
    8771    50    CNT_FINAL    Lancée    
    8771    499    EXPED_REC    Lancée    
    8771    500    CNT_FINAL    Lancée    
    8808    60    AJU_IC    Soldée    
    8808    70    AJU_IC    Soldée    
    8808    80    CNT_FINAL    Soldée    
    8808    490    PROT1    Lancée    C13-00201
    8808    499    EXPED_REC    Lancée    
    8808    500    CNT_FINAL    Lancée    
    Il y à 3 ofs avec des phases soldées et des phases lancées dont certaines ont un n° de commande.
    Je souhaiterais faire apparaître une seule ligne par of avec le plus petit numéro des phases lancées + son poste et le n° de commande si il existe.

    Ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select of, min(phase), poste ,Cmde 
                         from ordre_fabrication 
                             Where phase_statut = 'Lancée'
                              Group by of;

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

Discussions similaires

  1. [XL-2010] selection ligne avec condition
    Par py86acces dans le forum Excel
    Réponses: 4
    Dernier message: 15/10/2014, 18h45
  2. Réponses: 4
    Dernier message: 19/06/2014, 17h11
  3. Fonction max avec condition
    Par Invité dans le forum Excel
    Réponses: 4
    Dernier message: 22/07/2013, 14h58
  4. [XL-2003] VBa selection cellules avec condition
    Par gwencab dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2011, 16h49
  5. calcul d'un max avec condition
    Par pepsister dans le forum Excel
    Réponses: 3
    Dernier message: 01/07/2010, 16h21

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