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] Problème requête somme


Sujet :

Langage SQL

  1. #21
    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
    Citation Envoyé par Bloon
    Il a pris mon exemple sans le ROLLUP.
    Comme le précédent, c'était le mien, je ne comprenais plus

  2. #22
    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
    Déjà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT f.xxx
    FROM (SELECT ...)
    ne devrait pas marcher puisque le SELECT extérieur se fait dans une table qui ne s'appelle pas f.

  3. #23
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'ai voulu établir ma requête en fonction des exemples précédents. Je l'ai testé que sur une somme faisant référence à une valeur. Je voudrais afficher pour chaque référence la somme dispo par mois et avoir le total à l'année. Apparement ma requête ne marche pas.


    SELECT "Mois dispo","Reference","Designation","Somme dispo"
    FROM (
    SELECT '01' TYPE_LIGNE,
    to-char(f.ms_date,'mm/yyyy') "Mois dispo",
    f.part_no "Reference",
    s.catalog_desc "Designation",
    SUM(f.unconsumed_forecast) over (partition by to_char(f.ms_date,'mm/yyyy'), f.part_no, s.catalog_desc order by to_char(f.ms_date,'mm/yyyy')) "Somme dispo"
    FROM ifsapp.level_1_forecast f, ifsapp.sales_part s where f.part_no=s.part_no and f.forecast_lev1<>0 and s.catalog_group like upper('&Famille%') and f.part_no like upper('&Reference%') order by "Reference", to_char(f.ms_date,'mm/yyyy')
    UNION ALL
    SELECT '02' TYPE_LIGNE,
    NULL,
    NULL,
    'TOTAL POUR ' || to-char(f.ms_date,'yyyy'),
    SUM(f.unconsumed_forecast) over (partition by to_char(f.ms_date,'yyyy'), f.part_no, s.catalog_desc order by to_char(f.ms_date,'yyyy'))
    FROM ifsapp.level_1_forecast f, ifsapp.sales_part s where f.part_no=s.part_no and f.forecast_lev1<>0 and s.catalog_group like upper('&Famille%') and f.part_no like upper('&Reference%') order by "Reference", to_char(fs_date,'mm/yyyy')
    )
    ORDER BY "Reference"

  4. #24
    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
    Citation Envoyé par Xo
    je pense que si tu continues à ne pas faire d'efforts sur le mise en forme de tes requêtes, tu vas décourager tous les bénévoles qui essayent de t'aider ...
    Bien vu : moi j'abandonne !

  5. #25
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'ai essayé de reformuler la requête en testant la somme que sur une seule valeur. Les deux sommes (sur l'année et par mois) fonctionnent séparément mais je n'arrive pas à les afficher toutes les deux sur deux lignes séparées.




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    SELECT *
    FROM ( 
    SELECT '01' TYPE_LIGNE,  
    		to-char(f.ms_date,'mm/yyyy') "Mois dispo", 
    		f.part_no "Reference",  
    		s.catalog_desc "Designation",  
    SUM(f.unconsumed_forecast) over (partition by to_char(f.ms_date,'mm/yyyy'), f.part_no, s.catalog_desc order by to_char(f.ms_date,'mm/yyyy')) "Somme dispo" 
    FROM  ifsapp.level_1_forecast f, ifsapp.sales_part s where f.part_no=s.part_no and f.forecast_lev1<>0 and s.catalog_group like upper('&Famille%') and f.part_no like upper('&Reference%') 
    ORDER BY “Mois”dispo”
    UNION ALL
    SELECT '02' TYPE_LIGNE, 
    	to-char(f.ms_date,'yyyy'), 
    f.part_no "Reference",  
    s.catalog_desc “Designation”, 
    SUM(f.unconsumed_forecast) over (partition by to_char(f.ms_date,'yyyy'), f.part_no, s.catalog_desc) "Somme dispo" 
     
    FROM ifsapp.level_1_forecast f, ifsapp.sales_part s where f.part_no=s.part_no and                                                               f.forecast_lev1<>0 and s.catalog_group like upper('&Famille%') and f.part_no like    upper('&Reference%') 
    ORDER BY “Reference”
    ) 
    ORDER BY "Reference"

Discussions similaires

  1. Problème de somme avec requête mysql
    Par breizhlama dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/06/2010, 20h28
  2. Problème de somme type "1+0=0" dans une requête
    Par Rmiid dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/06/2008, 06h50
  3. Problème requête Oracle
    Par newmar dans le forum SQL
    Réponses: 1
    Dernier message: 28/05/2008, 07h45
  4. Problème requête SELECT ORACLE
    Par vizlebiz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2008, 16h20
  5. Réponses: 6
    Dernier message: 20/09/2004, 15h26

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