Soit le schema suivant:
Une voiture peut appartenir a plusieurs personnes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14MarqueVoiture mv_id Personne p_id mv_id GroupPersonne p_id g_id Group g_id
Je souhaite faire une requête qui pour chaque groupe, retrournerait le nombre marque de voitures qu'on ne trouve QUE dans chaque groupe (et donc pas dans les autres groupes). Bien qu'elle me semble simple en apparance, je n'ai toujours pas trouvé de solution.
J'en suis ici:
Mais je ne m'étendrai pas sur cette requête, elle ne fait pas le job... Et impossible d'avancer (fin de semaine ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT G.name, COUNT(*) FROM Group G JOIN GroupPersonne GP ON G.g_id=GP.g_id JOIN ( SELECT p_id, g_id FROM GroupPersonne JOIN Personne ON Personne.p_id=GroupPersonne.p_id GROUP BY mv_id HAVING COUNT(*) = 1 ) JO ON JO.p_id=GP.p_id GROUP BY G.g_id
Si quelqu'un à une idée
Merci d'avance!
Partager