Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 24/06/2008, 15h35   #1
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : janvier 2008
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 34
Points : 11
Points : 11
Envoyer un message via MSN à wifsimster
Par défaut [SQL] Problème de requête SELECT

Bonjour à tous,
Mon problème est assez complexe, enfin du moins pour moi
Je possède une table nommé "agenda"
En voici un extrait :


Sur cette table il me faut extraire les valeurs des cout_heure correspondant à un lieu et à un nom_assoc donné.
Pour ensuite faire la somme des valeurs extraites.
En clair je suis totalement perdu sur la façon d'aborder le problème !
wifsimster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 15h39   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
C'est une question SQL pas PHP

Code :
SELECT sum(count_heure) as total FROM table WHERE nom_assoc="HAND BALL CLUB MARMANDAIS" AND lieu="BEACH VOLLEY"
Juste au passage :
Dans la conception d'une base de donnée, quand des données sont repetées, on utilise des tables de reference et des index.

exemple dans ton cas tu aurais une table de reférence "tr_club"
qui contiendrait
1 - HAND BALL CLUB MARMANDAIS
2 - CLUB DE LA PLAGE
3 - SUPER CLUB

et du coup la table que tu nous montres contient non plus le nom du club en entier mais juste le numéro du club.

cela a de multiples avantage, comme le gain en performance mais surtout l'elimination des erreurs.
Par exemple si quelqu'un saisi "CLUB MARMANDAIS" tout court et un autre "HANDBALL CLUB MARMANDAIS" en oubliant un espace, tu ne seras plus capable de les regrouper.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 15h40   #3
Membre du Club
 
Inscription : mai 2008
Messages : 50
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 50
Points : 42
Points : 42
Code :
1
2
3
 
SELECT SUM(cout_heure) FROM agenda
GROUP BY nom_assoc, lieu
Si tu veux rajouter une condition tu mets HAVING condition derriere le group by.

EDIT : Grillé!
Psymon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 15h55   #4
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : janvier 2008
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 34
Points : 11
Points : 11
Envoyer un message via MSN à wifsimster
Merci beaucoup de voter rapidité, ça me permet d'avancer et d'y voir plus clair dans mon problème

Voici la suite de ma table :


En fait maintenant, il faut que je récupère toujours pour les mêmes conditions les valeurs heure et heure_fin pour calculer la différence entre ces deux valeurs . . . et ensuite faire la somme des résultats O_o

Edit: Problème résolu ...

Code :
1
2
3
SELECT SUM((heure_fin - heure) * cout_heure) from agenda
where nom_assoc = nom donné
and lieu = lien donné
wifsimster 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 18h00.


 
 
 
 
Partenaires

Hébergement Web