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 :

Erreur sur un SUM


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut Erreur sur un SUM
    Bonjour, j'ai une question concernant la possibilité ou non de faire un SUM.

    Voici ce que je veux faire concrètement:


    J'ai cette requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select ticket, produit, departement, magasins, date_annee, facture, count(*) as quantite
    from (select (tv.departement || tv.magasins || tv.date_annee || tv.facture || tv.produit) as prod_ticket, (tv.departement || tv.magasins || tv.date_annee || tv.facture) as ticket, tv.departement, tv.magasins, tv.date_annee, tv.facture, tv.produit
            from tra_ventes tv)
    group by prod_ticket, departement, magasins, date_annee, facture, ticket, produit;
    Qui donne ce résultat pour le moment:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TICKET	PROD	DEPT	MAG	DAT	FACT	QTE
    1013433	7	10	1	343	3	1
    111041	86	1	1	104	1	1
    11112	107	1	1	11	2	1
    11112	423	1	1	11	2	1
    11112	937	1	1	11	2	1
    11112	998	1	1	11	2	2
    11112	999	1	1	11	2	1
    11114	671	1	1	11	4	1
    11117	452	1	1	11	7	1
    11117	885	1	1	11	7	1
    111222	10	1	1	122	2	1
    111245	43	11	1	24	5	1
    Et je voudrais pouvoir ajouter un volume total par ticket, qui est en fait la somme de toutes les quantite par tickets, ce qui donnerait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TICKET	PROD	DEPT	MAG	DAT	FACT	QTE	VOL
    1013433	7	10	1	343	3	1	1
    111041	86	1	1	104	1	1	1
    11112	107	1	1	11	2	1	6
    11112	423	1	1	11	2	1	6
    11112	937	1	1	11	2	1	6
    11112	998	1	1	11	2	2	6
    11112	999	1	1	11	2	1	6
    11114	671	1	1	11	4	1	1
    11117	452	1	1	11	7	1	2
    11117	885	1	1	11	7	1	2
    111222	10	1	1	122	2	1	1
    111245	43	11	1	24	5	1	1

    J'ai tenté de faire un SUM avec un group by sur tous les autres champs sauf la quantité, mais ca ne marche pas, il semblerait que je ne puisse que prendre l'un ou l'autre de quantite ou volume :s

    Il me donne comme erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQL Error: ORA-00979: not a GROUP BY expression
    00979. 00000 -  "not a GROUP BY expression"
    *Cause:    
    *Action:
    Donc est-ce possible ou non de faire une SUM et de la mettre sur chaque ligne?

    Merci de votre réponse

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Je voulais préciser que je veux éviter un update de la table , si possible bien sur

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Par défaut
    Et cette requête ne fonctionnerait telle pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ticket, produit, departement, magasins, date_annee, facture, Sum(ticket) AS quantite
    FROM (SELECT (tv.departement || tv.magasins || tv.date_annee || tv.facture || tv.produit) AS prod_ticket, (tv.departement || tv.magasins || tv.date_annee || tv.facture) AS ticket, tv.departement, tv.magasins, tv.date_annee, tv.facture, tv.produit
            FROM tra_ventes tv)
    GROUP BY ticket, produit, departement, magasins, date_annee, facture;

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    T'as les fonctions analytiques pour ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUM(COUNT(*)) over (PARTITION BY ticket) AS total
    => Tazmania : Sum(ticket) ?? T'as pas du bien lire le résultat attendu

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Merci McM pour ta réponse, je vais tout de suite lire le tuto sur ces fonctions, je ne connaissait pas, et ca va me faciliter la vie!!

    merci encore

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Yop, le tuto est super bien fait, j'en ai une copie en local, on sait jamais.
    Faut un peu de temps pour que le fonctionnement rentre bien, mais à force, ça devient plus facile.
    Attention elles ne marchent pas encore sous forms (du moins pas celles que j'ai tenté d'essayer)

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

Discussions similaires

  1. [XL-2007] Erreur sur formule sum
    Par toushusss dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/05/2011, 10h28
  2. Erreur 400 sur WorksheetFunction.Sum
    Par MasterChief78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/10/2009, 15h55
  3. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  4. []Erreur sur second emploi collection binding
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/03/2004, 18h02
  5. Erreur sur le TNSListener après installation de 9iAS
    Par Patmane dans le forum Installation
    Réponses: 4
    Dernier message: 04/02/2004, 11h16

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