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

PHP & Base de données Discussion :

Requêtes groupées pour additionner


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Points : 34
    Points
    34
    Par défaut Requêtes groupées pour additionner
    Bonjour, bonjour,

    Voici ma base de données :

    Participants(num_participant, nom, prenom, adresse, …)
    Inscriptions(num_inscription, num_participant, num_activite, presence ,…)
    activites(num_activite, designation, type, etat, heures,date, status, …)
    Il s'agit de participants qui s'inscrivent à des activités.

    Je dois additionner le nombre d'heures (dans activites) pour les inscriptions pour les présents les non présent et par type d’activité.
    Nous avons 5 type d'activité : Séminaire, colloque, atelier, atelier info. et accompagnement.

    Pour le moment, voici la requête que j'utilise de nombreuse fois en changeant les paramètres :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT sum( heures )  
    FROM activites, inscriptions, participants 
    WHERE inscriptions.num_participant = participants.num_participant 
    AND inscriptions.num_activite = activites.num_activite 
    AND activites.type=’Séminaire’ 
    AND inscriptions.presence = 'Oui' 
    AND activites.date BETWEEN '2012/01/01' AND '2012/12/31'

    Est-il possible d'avoir toutes ces infos en réduisant le nombre de mes requêtes ? Pour que les sommes d'heures se fassent pour tous les types d'activités ?

    Je vous remercie ++++

    El Bero de Mons

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Essaye un group by par activités

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Points : 34
    Points
    34
    Par défaut re
    Merci pour la réponse, j'ai donc modifié ma requête comme ceci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT sum( heures ) ,activites.type 
    FROM activites, inscriptions, participants 
    WHERE inscriptions.num_participant = participants.num_participant 
    AND inscriptions.num_activite = activites.num_activite 
    AND inscriptions.presence = 'Oui' 
    AND activites.date1 BETWEEN '2012/01/01' AND '2012/12/31'
    GROUP BY activites.type

    Cette requête me donne bien la somme de heures par type d'activités mais comment récupérer ces valeur dans le code php ?

    Merci +++

Discussions similaires

  1. [XL-2010] Fonction pour additionner un groupe de cellule en fonction d'un critere
    Par JENNIFER27950 dans le forum Excel
    Réponses: 7
    Dernier message: 26/11/2014, 10h22
  2. Réponses: 2
    Dernier message: 11/03/2013, 18h24
  3. Requête LDAP pour trouver les groupes d'un membre
    Par Poussy-Puce dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/10/2006, 17h56
  4. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 10h26

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