Affichage horizontal des résultats MySQL

Résolu
hakim_fth Messages postés 157 Statut Membre -  
jee pee Messages postés 9455 Date d'inscription   Statut Modérateur Dernière intervention   -
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 ?

1 réponse

  1. jee pee Messages postés 9455 Date d'inscription   Statut Modérateur Dernière intervention   10 010
     
    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