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 :

Problème de sum..


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 50
    Points
    50
    Par défaut Problème de sum..
    Bonjour à tous, tout d'abord, je vous présente le morceau de code que j'ai fait :

    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
    select distinct rdv_num, convert(char(10),rdv_debut, 103) as Date, convert(char(8), rdv_debut, 8) as Heure, opa_sortie.sor_nb_palette
     
    from opa_rdv, opa_ordre, opa_societe, opa_lieux, opa_sortie, opa_chargement, opa_sor_cha, opa_ligne_sortie,  opa_adresse, opa_lieux_fonctions
     
    where opa_ordre.ord_id=opa_sortie.ord_id 
    and opa_societe.soc_id=opa_lieux.soc_id 
    and opa_lieux.ord_id = opa_ordre.ord_id 
    and opa_sortie.ord_id=opa_ligne_sortie.ord_id 
    and opa_chargement.ord_id=opa_rdv.ord_id 
    and opa_sor_cha.cha_id=opa_chargement.cha_id 
    and opa_adresse.adr_id=opa_lieux.adr_id
    and opa_sor_cha.ord_id=opa_sortie.ord_id
    and opa_lieux_fonctions.lfo_id=opa_lieux.lfo_id
     
    and opa_ordre.soc_id = 9 
    and convert(char(10),rdv_debut, 103)="12/06/2007"
    and opa_rdv.rdv_type = 2
     
    order by convert(char(10),rdv_debut, 103), convert(char(8), rdv_debut, 8)
    Cette requête me sort un tableau sur 4 colonnes qui se présente comme suit :

    rdv num date heure sornb palettes
    XXXXXX 12/06/2007 04:00:00 30
    XXXXXX 12/06/2007 04:00:00 2
    XXXXXX 12/06/2007 05:00:00 5
    XXXXXX 12/06/2007 05:00:00 7
    .
    .
    Ce que je voudrais faire, c'est la somme des sornb palettes par heure donc ce qui me donnerait quelquechose comme ça par rapport à l'exemple ci dessus

    rdv num date heure sornb palettes
    XXXXXX 12/06/2007 04:00:00 32
    XXXXXX 12/06/2007 05:00:00 12
    Je suis désolé, mais je n'ai pas connaissance de la version d'Oracle que j'utilise et l'informaticien du site ne semble pas très au courant de ça...

    Si vous pouviez quand même essayer de m'aider, je vous en serai très reconnaissant

    J'ai fait plusieurs essais, notamment sur cette requête en faisant la somme des sornb palettes et un group by sur la date et l'heure, mais il me sort nimportequoi...

  2. #2
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 50
    Points
    50
    Par défaut
    Je viens de me relire, dans le deuxieme tableau, sachant qu'il peut y avoir plusieurs numero de rdv pour une même date et heure, il faut l'exclure et uniquement conserver la date, l'heure et la somme des sornb palettes... désolé :s

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut group by
    Pour simplifier, je cree une vue...
    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
    21
    22
    23
    CREATE VIEW palette_heure AS SELECT DISTINCT rdv_num, convert(char(10),rdv_debut, 103) AS Date, convert(char(8), rdv_debut, 8) AS Heure, opa_sortie.sor_nb_palette FROM opa_rdv, opa_ordre, opa_societe, opa_lieux, opa_sortie, opa_chargement, opa_sor_cha, opa_ligne_sortie, opa_adresse, opa_lieux_fonctions WHERE opa_ordre.ord_id=opa_sortie.ord_id AND opa_societe.soc_id=opa_lieux.soc_id AND opa_lieux.ord_id = opa_ordre.ord_id AND opa_sortie.ord_id=opa_ligne_sortie.ord_id AND opa_chargement.ord_id=opa_rdv.ord_id AND opa_sor_cha.cha_id=opa_chargement.cha_id AND opa_adresse.adr_id=opa_lieux.adr_id AND opa_sor_cha.ord_id=opa_sortie.ord_id AND opa_lieux_fonctions.lfo_id=opa_lieux.lfo_id AND opa_ordre.soc_id = 9 AND convert(char(10),rdv_debut, 103)="12/06/2007" AND opa_rdv.rdv_type = 2 ORDER BY convert(char(10),rdv_debut, 103), convert(char(8), rdv_debut, 8)

    Et puis une somme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT Date,Heure,SUM(sor_nb_palette) FROM Palette_Heure GROUP BY Date,Heure ORDER BY Date,Heure

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 50
    Points
    50
    Par défaut
    Il m'a dit dans un premier temps que les Order By n'étaient pas acceptés dans un create view et après il m'a dit que j'avais carrément pas le droit de faire des create view

    Merci de ton aide cependant

Discussions similaires

  1. Problème de SUM sur une requête SQL
    Par Lapicure dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 12/06/2007, 11h51
  2. [SQL] problème de SUM dans un update
    Par _Jérôme_ dans le forum Langage SQL
    Réponses: 5
    Dernier message: 12/03/2007, 18h22
  3. Problème de SUM sur une absence de valeur
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/01/2007, 23h33
  4. problème opération sum date
    Par lazzeroni dans le forum Oracle
    Réponses: 1
    Dernier message: 19/06/2006, 12h03
  5. [SQL Access] Problème avec Sum()
    Par badgam piero dans le forum Access
    Réponses: 5
    Dernier message: 12/12/2005, 16h00

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