Requête multi jointures et regroupement - SQL/NoSQL - Programmation
Marsh Posté le 20-10-2009 à 16:22:07
tu peux donner un exemple de contenu des tables / résultat attendu?
J'ai un peu de mal à visualiser, là
Marsh Posté le 20-10-2009 à 17:58:20
ADHERENTS
Code :
|
COTISATIONS
Code :
|
Résultat attendu :
Code :
|
Car le chef1 et ses sous-chefs (adherent1 et adherent2) ont versés au moins une fois en 2006 et 2008 et n'ont pas versé en 2007.
Marsh Posté le 21-10-2009 à 09:47:27
la colonne "chef" ne sert à rien car en autorisant NULL comme id_chef, ça indique si c'est un chef. Après, le niveau dans l'arbo des chefs détermine si c'est un chef, un sous-chef ou un simple sous-fifre
Marsh Posté le 21-10-2009 à 11:32:42
En fait il n'y a que deux niveaux dans l'arbo : soit "chef" soit "pas chef"
Un "pas chef" peut avoir un chef au dessus de lui ou pas.
Tu as raison sur la colonne "chef" mais j'avais pensé que dans la construction de ma requête cela pouvait simplifier.
Dans mes réflexions j'en suis à cette requête :
Code :
|
Mais dans ce cas il faut que chaque chef id_chef=id...
Marsh Posté le 20-10-2009 à 16:17:59
Bonjour à tous,
J'ai un problème avec une requête que je n'arrive pas à concevoir sur les tables ci-dessous :
Un adhérent peut être un chef (chef [1]) ou peut être un sous-chef (chef [0]) rattaché à un chef (id_chef)
Je voudrais sortir la liste des adhérents de type "chef" dont :
- au moins un sous-chef ou le chef ont versé une cotisation en 2006
- au moins un sous-chef ou le chef ont versé une cotisation en 2008
- aucun des sous-chefs ni le chef n'ont versé de cotisation en 2007
En fait j'avais une requête qui fonctionnait très bien justement pour sortir la liste des adhérents sans prendre en compte les chefs et sous-chefs :
J'aimerais en fait faire la même requête mais en ne sortant que les id des chefs mais en prenant en compte les cotisations du chef et de leurs sous-chefs.
Il faudrait pouvoir considérer un groupe d'adhérents (1 chef + n sous-chefs) comme un unique adhérent.
C'est peut être pas très clair ... ?
En tout cas je bloque complètement, merci d'avance