Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum 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 01/06/2011, 15h44   #1
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 74
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 74
Points : 15
Points : 15
Par défaut Addition champs de 2 tables

Bonjour à tous,

J'expose mon problème:

Je souhaite afficher un tableau contenant le nombre de rando que tous les participants ont fait durant la saison.

Par contre les données s'inscrivent pour une raison voulue dans deux tables de même structure.

Un même participant peut se retrouver dans les deux tables.

Voici la structure simplifiée des tables RANDO1 et RANDO2: ID, NOM, PRENOM, NBRANDO

Pouvez vous me dire quelle est la requête que je dois exécuter pour afficher :

NOM, PRENOM, et addition des 2 NBRANDO


Je vous remercie pour votre aide.
legrandse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 15h55   #2
Membre confirmé
 
Homme
Développeur informatique
Inscription : avril 2011
Messages : 196
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Italie

Informations professionnelles :
Activité : Développeur informatique
Secteur : Transports

Informations forums :
Inscription : avril 2011
Messages : 196
Points : 298
Points : 298
Tu fait l'union des deux tables ensuite tu fait la somme sur NBRANDO

Code sql :
1
2
3
4
5
6
7
8
9
10
SELECT ID, NOM, PRENOM,sum(NBRANDO)
FROM
(
SELECT ID, NOM, PRENOM, NBRANDO
FROM RANDO1
union
SELECT ID, NOM, PRENOM, NBRANDO
FROM RANDO2
)
GROUP BY ID, NOM, PRENOM

Ca marche pour le cas ou les participants sont listés dans RANDO1 ou/et RANDO2 une ou plusieurs fois
fab256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 15h56   #3
Membre expérimenté
 
Avatar de amoiraud
 
Homme Adrien
Développeur Web
Inscription : octobre 2006
Messages : 405
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2006
Messages : 405
Points : 531
Points : 531
Envoyer un message via MSN à amoiraud
Essaye ca :

Code :
1
2
 
SELECT SUM(R1.NBRANDO + R2.NBRANDO) AS `SUMRANDO`, R1.NOM AS `R1_NOM`, R2.NOM AS `R2_NOM`, R1.PRENOM AS `R1_PRENOM`, R2.PRENOM AS `R2_PRENOM` FROM ...
Je n'ai pas mis le from car je ne connais pas le champs qui fait la jointure entre tes 2 tables

EDIT : utilise plutôt le code de fab256
amoiraud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 16h45   #4
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 74
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 74
Points : 15
Points : 15
Je vous remercie beaucoup pour votre aide rapide.

Cependant, le résultat n'est pas tout à fait ce à quoi je pensais.

J'ai bien un tableau qui me liste les participants mais si j'ai 5 fois le même participants, il m'affiche 5 lignes.

Or j'aurai souhaité si c'est possible, que le résultat soit sur une seule ligne par ID et affiche l'addition (pour les 5 participations).

Désolé et encore merci.
legrandse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 19h35   #5
Membre confirmé
 
Homme
Développeur informatique
Inscription : avril 2011
Messages : 196
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Italie

Informations professionnelles :
Activité : Développeur informatique
Secteur : Transports

Informations forums :
Inscription : avril 2011
Messages : 196
Points : 298
Points : 298
et comme ceci ?
Code :
1
2
3
4
5
6
7
8
9
10
SELECT ID, sum(NBRANDO)
FROM
(
SELECT ID, NBRANDO
FROM RANDO1
union
SELECT ID, NBRANDO
FROM RANDO2
)
GROUP BY ID
fab256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 08h55   #6
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 74
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 74
Points : 15
Points : 15
Ok çà fonctionne nickel.

Merci beaucoup.
legrandse 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 18h06.


 
 
 
 
Partenaires

Hébergement Web