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 :

[Oracle 8] Liste des articles avec état du stock sur 2 périodes


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut [Oracle 8] Liste des articles avec état du stock sur 2 périodes
    Bonjour,

    J'ai 3 tables :
    ARTICLE (c_article, lib_article)
    STOCK_HISTO (c_article, c_type_stock, peridoe_fy)
    PERIODE_FY (peridoe_fy, lib_periode_fy)

    Un article a un type de stock à une periode.

    Et j'aimerai uen requête qui m'affiche :
    lib_article - lib_periode_fy - c_type_stock - (periode_fy -1 ) - (c_type_stock de la période periode_fy - 1)

    Ca fait vraiment un moment que je galère sur ce pb j'espère donc que qqun va pouvoir m'aider.

    merci d'avance.

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT a.lib_article, p.lib_periode_fy  , s.c_type_stock, 
                          p_1.lib_periode_fy, s_1.c_type_stock 
    FROM Article a INNER JOIN Stock_Histo s 
                         ON a.c_article = s.c_article
                   INNER JOIN Periode_Fy p
                         ON s.Periode_fy = p.Periode_fy
                   LEFT  JOIN Stock_Histo s_1
                         ON  s_1.c_article = a.c_article
                         AND s_1.Periode_fy = s.Periode_fy - 1
                   LEFT  JOIN Periode_Fy p_1
                         ON  p_1.Periode_fy = s_1.Periode_fy

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    merci pour ta réponse mais en fait je suis sous oracle dc forcement il ne connait pas ces jointures la...

    Je vais essayer de trouver comment les basculer au format oracle mais si tu connais je suis preneur.

    merci.

  4. #4
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Tu es sous Oracle 8 ou antérieur ?

    Ca devrait donner qqchose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT a.lib_article, p.lib_periode_fy  , s.c_type_stock, 
                          p_1.lib_periode_fy, s_1.c_type_stock 
      FROM Article a, Stock_Histo s, Periode_Fy p, 
           Stock_Histo s_1, Periode_Fy p_1
     WHERE a.c_article = s.c_article
       AND s.Periode_fy = p.Periode_fy
       AND s_1.c_article (+) = a.c_article
       AND s_1.Periode_fy = s.Periode_fy - 1            
       AND p_1.Periode_fy (+) = s_1.Periode_fy
    En gros, tous les noms de tables sont à la suite, les clauses "ON" sont déplacées dans le WHERE, et les OUTER JOIN ressemblent aux autres jointures, avec un "(+)" ... d'ailleurs, vérifie que je les ai mis du bon côté, j'ai un doute ...

    Merci également de choisir des titre explicite, tout le monde a des problèmes de requête sur le forum SQL

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Nickel, sur un petit exemple ca fonctionne correctement...
    Je vais essayer sur ma base complete maintenant.

    Merci bcp.

    Et la prochaine fois je donnerais effectivement des intitulés plus explicite.

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

Discussions similaires

  1. Liste des tables avec Oracle XE 11g
    Par od.dev dans le forum SQL
    Réponses: 8
    Dernier message: 25/10/2012, 12h12
  2. Liste des sites avec images libres de droits
    Par SteelBox dans le forum Imagerie
    Réponses: 19
    Dernier message: 06/01/2011, 16h38
  3. [Oracle] Liste des Films avec dernier acteur/dernière musique
    Par jcmartin01 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 04/12/2006, 17h47
  4. Réponses: 19
    Dernier message: 17/05/2006, 20h05
  5. Réponses: 1
    Dernier message: 06/05/2006, 12h48

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