Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/01/2007, 23h38   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 2
Points : 1
Points : 1
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 :
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.
jonklay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 05h32   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Explication très claire ! Sauf erreur, voici les dépenses par catégorie pour la date du 3 janvier :

Code :
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
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 09h39   #3
Invité de passage
 
Inscription : janvier 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 2
Points : 1
Points : 1
Merci, c'est super !
Déjà adapté au contexte et ça roule !

Merci beaucoup Antoun. Bonne journée.
jonklay est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h13.


 
 
 
 
Partenaires

Hébergement Web