Affichage horizontal des résultats MySQL

Résolu/Fermé
hakim_fth Messages postés 138 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 5 octobre 2023 - Modifié le 29 mai 2020 à 16:48
jee pee Messages postés 39650 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 - 29 mai 2020 à 16:48
Bonjour les amis,

Grâce à cette requête j'ai obtenu le résultat ci-dessous:
select nom_client, libelle, montant from clients c
join charges ch
left join paiements p on p.id_client = c.id_client and ch.id_charge = p.id_charge
order by c.id_client



Avez-vous SVP une idée sur comment je peux obtenir le résultat ci-dessous ?
A voir également:

1 réponse

jee pee Messages postés 39650 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 9 238
29 mai 2020 à 16:48
Bonjour,

Le sql n'est pas aussi pratique qu'un outil de BI pour réaliser cela.

Select nom_client, sum(Eau), sum(Electrite) from 
(
select nom_client, montant as Eau, 0 as Electricite from clients c
join charges ch
left join paiements p on p.id_client = c.id_client and ch.id_charge = p.id_charge
where ch.id_charge=1
union
select nom_client, 0 as Eau, montant as Electricite from clients c
join charges ch
left join paiements p on p.id_client = c.id_client and ch.id_charge = p.id_charge
where ch.id_charge=2
)
group by nom_client 


On devrait pouvoir rajouter un second join sur charges dans ta requete. Mais cela ne traiterait pas le client qui a payé 2 fois l'eau, tes données de test étant sommaires.
0