Bonjour
Je rencontre un gros souci qui pourtant me paraissait si simple au départ.
Ma base gère des sociétés qui ont adhéré à un ou plusieurs de nos services (liste des services nom fixe)
Pour cela j'ai créer trois tables:
Societes Services adhesion
num num num_service
nom service num_societe
....
en admettant que j'ai deux services, ma table services contient les enregistrements :
1 Service compta
2 Service paie
La société 1 est adhérente aux deux services et la société 2 est adhérente seulement au premier service.
J'ai donc une table adhesion qui contient les entrées :
num_service num_soc
1 1
2 1
1 2
Comment je fait pour retrouver le nom des sociétés adhérentes au service 1 et au service 2 soit dans mon exemple la société 1.
Je sèche complétement. J'arrive a retrouver les sociétés adhérente à l'un ou l'autre des service grâce au IN ou en multipliant les OR mais pas moyen de trouver les sociétés adhérentes à plusieurs services.
Est ce qu'une solution simple m'échappe, est ce que je me suis planté dans le schéma de ma base pour gérer un tel cas?
mes pistes pour le moment était une requête du genre :
Seulement difficile de trouver une ligne ou le s.num_service=1 et 2 en même temps. D’où l'erreur, mais comment faire ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT soc.* FROM societes AS soc LEFT JOIN adhesion AS a ON (soc.num=s.num_societe) WHERE s.num_service=1 AND s.num_service=2 ORDER BY soc.num
Merci d'avance je suis perdu et m'arrache les cheveux.
Greg
Partager