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

PL/SQL Oracle Discussion :

Chainage SQL sur des informations implicites


Sujet :

PL/SQL Oracle

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Par défaut Chainage SQL sur des informations implicites
    Bonjour à tous et à toutes,

    Je fais face à un problème de chainage de données en sql, et je n'arrive pas à comprendre comment lier mes données.

    CONTEXTE
    Voici un descriptif simplifié et très rapide d'une partie d'un système d'informations:

    - AGENT (REF_AGENT, NOM, PRENOM, ...)
    - TRANSPORT (REF_TRSP, DATE_TRSP, ..., #REF_AGENT, #REF_SRV_DEP, #REF_SRV_ARR)
    - SERVICE (REF_SRV, Etage_SRV, ...)

    Pour faire simple, un agent peut faire plusieurs transports, d'un service à un autre.
    De même, un service peut être le point de départ ou d'arrivée de plusieurs transports.

    Rien de très compliqué dans ce schéma.
    Et pour faire des stats, idem. Le fait de compter ne pose aucun problème, du moins pour ce qui est apparent.

    Le problème apparait dès lors que j'essaye de compter une information implicite (et donc non référencée dans la base), à la demande d'un client.

    PROBLEME
    En gros, un agent a un transport à faire (Transport 1) d'un Service (A) vers un Service (B).
    Puis, il doit faire un deuxième transport (Transport 2) d'un Service (C) vers un Service (D).

    Dans cet exemple, il y a un troisième transport, le transport intermédiaire (de B vers C) qui correspond juste à la transition d'une affectation à une autre.

    C'est ce troisième transport que je souhaite compter. Et là, je bloque.
    Ce troisième transport n'est jamais renseigné dans la base, je dois chainer les transports 1 et 2 alors qu'il n'y a pas de lien entre eux.
    Ces transports 1 et 2 doivent également être consécutifs (entre une embauche et une débauche par exemple), mais les dates ne sont pas égales.
    Et pour le challenge, pour que ce transport intermédiaire soit compté, il faut que l'étage du Service B soit différent du Service C.

    EDIT
    Si ça peut aider, je mets en pièce-jointe une capture d'écran d'un exemple des transports en question.
    Le listing fait état de 14 transports réels.
    En les comptant de visu, il y a 13 transports implicites.
    FIN EDIT

    Je suis sur un Oracle 10gR2, sur Windows. Ceci étant, ma question relève de SQL pur et dur, ça ne relève pas d'un SGBDR (je ne saurais pas le faire non plus sur MS SQL, Sybase, ou MySQL).

    Si quelqu'un peut m'aider à y voir plus clair, j'apprécierais beaucoup le coup de main.

    Merci d'avance à tous et à toutes,
    Cordialement,
    Délio
    Images attachées Images attachées  

Discussions similaires

  1. quel logiciel pour faire du SQL sur des GROS fichiers bruts (csv)?
    Par flipo44 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 24/06/2010, 16h59
  2. requete sql sur des dates
    Par dcaille dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/10/2009, 10h00
  3. requete sql sur des dates
    Par dcaille dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/10/2009, 16h52
  4. [SQL] Regrouper des informations reçues
    Par Misoss dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2008, 13h38
  5. requette SQL sur des dates..
    Par petitcoucou31 dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/11/2006, 19h55

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