Affichage horizontal des résultats MySQL

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