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

SQL Oracle Discussion :

Position d'une opération dans une gamme opératoire


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut Position d'une opération dans une gamme opératoire
    Bonjour,

    Je travaille sur de la GPAO. Je souhaite connaître la position de mon opération sur ma gamme opératoire.
    Une gamme opératoire est constituée de plusieurs opérations.

    J'ai donc une table des gammes et une table des opérations.
    La table des gammes a pour clé unique id_gamme.
    La table des opérations a pour clé unique l'id_operation et pour clé étrangère l'id_gamme. Il y a également un champ qui correspond au rang.
    Je veux créer une requête sql qui pour chaque opération d'une gamme me restitue la position dans la gamme (1,2,3, ...).
    Je suis sur Oracle 10g et je souhaite placer cette requête dans une vue pour l'utiliser sur CR XI.

    Je vous remercie d'avance.
    Bon week-end.
    Julien.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    et qu'avez-vous essayé comme requête ? où bloquez-vous ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut
    Je souhaiterais que pour chaque opération sur laquelle il reste du "à travailler", les opérations suivantes apparaissent sur la même ligne.
    Le raisonnement n'est pas très bon puisque potentiellement le nombre d'opérations sur la gamme opératoire est illimité et cela pourrait "déborder" de mon report.
    Je ne sais pas si cela est faisable.
    Ma requête SQL est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select wo.id_wo, wo.seq,  tmp.seq
    from WO_OP wo
    left outer join
    (select wos.id_wo, wos.seq  
    from WO_OP wos) tmp
    on wo.id_wo = tmp.id_wo
    where wo.seq < tmp.seq
    où id_wo est l'identifiant de l'ordre de fabrication, seq la séquence (position dans la gamme opératoire).
    La requête ramène plusieurs lignes pour la même gamme opératoire. Je souhaiterais qu'elle ramène une ligne par opération.
    Exemple : sur ma gamme, j'ai 3 phases : la 10, la 20 et la 30.
    Je voudrais l'id_wo et 10, 20, 30
    l'id_wo et 20,30
    l'id_wo et 30.

    Merci d'avance.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Je ne comprend pas.

    Vous utilisez des termes dans tous les sens, sans les réutiliser ni les modéliser.

    Donc :

    Vos deux tables :
    gamme (gam_id, ...)
    opérations (ope_id, gam_id, rang, ...) <= gam_id ne fait-il pas aussi partie de votre clef primaire ?


    A quoi correspond le rang par rapport à "position dans la gamme" et "position dans la gamme opératoire"


    A quoi correspond une "phase" par rapport aux tables décrites ?


    Que viens faire "l'ordre de fabrication" là-dedans ? vous ne le mentionnez nulle part dans la description de vos tables ?

    Bref, faites une présentation correcte de votre modélisation, mettez un exemple parlant de vos données en base et du résultat souhaité car là je nage complètement.

    Enfin pour ceci :
    La requête ramêne plusieurs ligne pour la même gamme opératoire. Je souhaiterai qu'elle ramène une ligne par opération.
    Il y a des chances que vous vouliez faire un "pivot" (vous pouvez regardez en recherchant sur ce forum) et en natif sql ça n'est pas vraiment supporté sur Oracle.


    A creuser donc.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut
    Effectivement je présuppose que mon interlocuteur y connaisse un minimum en GPAO. Je vais essayer d'être plus clair.

    Mes tables :

    Ordres de fabrication : WO dont la clé primaire unique est id_wo,

    Opérations (ou phases) de la gamme opératoire : WO_OP dont la clé primaire unique est id_wo_op. Elle possède une clé étrangère non-unique qui est id_wo et un champ seq qui est la séquence dans la gamme opératoire (ce qui est habituellement nommé le rang). Dans la mesure où celui-ci est modifiable, je ne peux utiliser la clé de WO_OP pour avoir les phases suivantes.

    Je travaille sur Oracle 10g.

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    On reprend,

    Vous avez donc deux tables :
    WO (id_wo,...)
    WO_OP (id_wo_op, id_wo, seq, ...)

    La relation entre les deux est
    WO (0,n) ---------- (0,1) WO_OP

    c'est ça ?

    niveau exemple de donnée, que j'invente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    WO_OP
    ------------------------
    id_wo_op     id_wo    seq
    1                1          10
    2                1          20
    3                1          30
    4                1          40
    c'est ça ?

    que voulez-vous en sortie ? ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    id_wo          String
    1                10, 20, 30, 40

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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