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 Procédural MySQL Discussion :

Faire un SUM avec conditions sans tables temporaires


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Faire un SUM avec conditions sans tables temporaires
    Bonsoir à tous,

    Première pour moi ici, c'est vrai qu'en général je me débrouille tout seul (j'ai bien fouillé dans les forums...), mais là, je galère un peu...

    J'ai un projet de gestion des dépenses composé de plusieurs tables (dont la gestion des fournisseurs, des catégories de dépenses, des dépenses en globalité et du contenu des dépenses objet par objet).

    C'est particulièrement compta_depenses et compta_dep_contenu qui me donnent du fil à retordre...

    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
     
    CREATE TABLE compta_depenses (
      dep_id int(20) NOT NULL auto_increment,
      dep_dateachat date NOT NULL default '0000-00-00',
      dep_fourn int(5) NOT NULL default '0',
      dep_visa tinytext NOT NULL,
      dep_remarq text NOT NULL,
      dep_modpaie tinytext NOT NULL,
      PRIMARY KEY  (dep_id)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    CREATE TABLE compta_dep_contenu (
      dep_cont_id int(20) NOT NULL auto_increment,
      dep_cont_depense_id int(15) NOT NULL default '0',
      dep_cont_subcat int(10) NOT NULL default '0',
      dep_cont_descr text NOT NULL,
      dep_cont_prix decimal(18,2) NOT NULL default '0.00',
      PRIMARY KEY  (dep_cont_id)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    Mon but est de sortir le total (SUM de dep_cont_prix) par catégorie (dep_cont_subcat) et en fonction de la date de la dépense (et donc je dois utiliser dep_cont_depense_id pour remonter dans compta_depenses et vérifier dateachat)

    Voilà, je sais pas si l'explication est claire... Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    Explication très claire ! Sauf erreur, voici les dépenses par catégorie pour la date du 3 janvier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT C.dep_cont_subcat, SUM(C.dep_cont_prix)
    FROM compta_dep_contenu C 
      INNER JOIN compta_depenses D 
        ON D.dep_id = C.dep_cont_depense_id
    WHERE D.dep_dateachat = '2006-01-03'
    GROUP BY C.dep_cont_subcat

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci, c'est super !
    Déjà adapté au contexte et ça roule !

    Merci beaucoup Antoun. Bonne journée.

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

Discussions similaires

  1. [FN]Faire 1 BD avec une seule table ou normaliser ?
    Par borndead dans le forum Schéma
    Réponses: 7
    Dernier message: 12/06/2007, 15h26
  2. [MySQL] Sélection avec condition sans base de données
    Par covin85 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/04/2007, 09h08
  3. Réponses: 12
    Dernier message: 30/01/2007, 13h37
  4. Faire un while avec condition d'arrêt une durée
    Par schumi101 dans le forum Linux
    Réponses: 3
    Dernier message: 16/06/2006, 12h31
  5. [XML][Debutant]Faire une somme avec condition...
    Par cackybis dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2006, 16h07

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