Bonjour,
j'ai un souci pour exprimer une requete sql qui ne me parrait pas tres complexe et pourtant ...
Cela fait un bail que je n'ai pas fait de sql et j'ai perdu la main.
Je vous explique rapidement mon probleme.
J'ai des contacts et des groupes. Chacun de ces contacts peut faire partie de 0 ou plusieurs groupes. Ces derniers peuvent aussi contenir eux meme d'autres groupes (groupes de groupes).
Donc dans ma bdd, j'ai une table contact (id_contact ...), une table groupe (id_group ...), une table appartenir (id_contact -> id_group) et enfin une table contenir ([groupe conteneur]id_contient -> [groupe contenu]id_contenu).

J'ai fait la requete sql suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT groupe.id_group
   FROM groupe, appartenir, contact, contenir
  WHERE groupe.id_group = appartenir.id_group
  AND appartenir.id_contact = contact.id_contact
  AND contact.id_contact = 1;
Elle me retourne la liste des groupes du contact 1 (donc le groupe 2). Toutefois, le groupe 2 fait lui même partie du groupe 1, donc indirectement le contact 1 devrait faire partie du groupe 1, en plus du groupe 2.

Je suis sur que vous etes tres nombreux à pouvoir m'aider sur ce cas d'école, et je vous serez vraiment très reconnaissant de me filer un petit coup de main .
Merci