|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 13 ![]() |
Bonjour,
Ma table comprend deux champs : id_user et id_group. Un même utilisateur peut appartenir à plusieurs groupes : Code :
Vous l'aurez compris, je ne suis pas au point en SQL. Merci pour l'aide que vous pourriez m'apporter. Hervé Soulard. |
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Je ne vais pas te donner la solution toute faite mais t'aiguiller vers elle.
Fais une requête qui cherche les utilisateurs appartenant au groupe 1. Fais en une autre qui cherche les utilisateur appartenant au groupe 2. Relie les deux par une clause NOT EXISTS dans le WHERE de la première requête. Essaie de construire la requête tout seul et reviens nous voir si tu n'y arrives pas. Tu peux regarder ce tuto pour t'aider. Bon courage !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 13 ![]() |
> Fais une requête qui cherche les utilisateurs appartenant au groupe 1.
> Fais en une autre qui cherche les utilisateur appartenant au groupe 2. Ca j'y arrive :-) > Relie les deux par une clause NOT EXISTS dans le WHERE de la première requête. Là je ne vois pas. Si j'ai bien compris le fonctionnement de EXISTS, à partir du moment où la 2e requête (interne) va trouver quelque chose, la 1ere (externe) sera exécutée. Puisque j'ai des utilisateurs dans le groupe 2, le NOT EXISTS va toujours être False et la 1ere ne sera donc pas exécutée. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Bonjour,
Non pas exactement. Pour chaque ligne de la requête mère un teste d'existance dans la sous-requête va être effectué. Si ce test est concluant la ligne sera sélectionnée |
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 13 ![]() |
> Non pas exactement.
> Pour chaque ligne de la requête mère un teste d'existance dans la sous-requête va être effectué. > Si ce test est concluant la ligne sera sélectionnée OK, alors je propose ceci : Code :
|
||
|
|
30
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
bonjour,
oui c'est la bonne solution |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 13 ![]() |
> oui c'est la bonne solution
Super. Merci à vous deux. |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
Salut,
Je sais pas trop pourquoi, mais ici j'aime bien : Code :
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
||
|
10
|
|
|
#9 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
et la solution sans jointure !
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com