Bonjour,
Je vous expose mon problème. Je possède 3 tables : Continent, Pays et Clients
Chaque client possède donc un nom, une "relation" qu'il a avec nous (on peut considérer ca comme une note de A à D) et un pays. Voici ma table :
Maintenant, je souhaite avoir un tableau qui me récapitule, pour chaque pays : le nombre de client avec une note "A", le nombre de client avec une note "B", le nombre de client avec une note "C"...
De ce style :
Le problème, c'est que je souhaite faire tout ca en une seule requête pour un formulaire. Pour l'instant, j'en suis là :
Le problème est que je n'ai que le nombre de client avec une note de A, et je voudrais les colonnes pour B, C et D. J'ai lu pas mal de truc mais je ne trouve rien de concret ! Je suppose qu'il faut faire un deuxieme Count(*) ou une sous-requête (en supprimant le where).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT Continent.nom, Pays.nom, Count(*) as Client_A FROM (Continent INNER JOIN Pays ON Continent.nom = Pays.fk_continent) INNER JOIN Client ON Pays.nom = Client.fk_pays WHERE relation = 'A' GROUP BY Continent.nom, Pays.nom;
J'ai vu des cas avec des IF, CASE , WHEN , mais c'était sous d'autre SGBD.
Une idée?
Par avance merci je galère depuis ce matin!
Partager