|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Inscription : octobre 2010 Messages : 33 ![]() |
Bonjour à tous,
J'ai 3 tables : Utilisateurs (id,nomprenom) Groupe(id,intitule) Groupe Utilisateurs(id,idutilisateur,idgroupe) Je cherches à obtenir tout les utilisateur qui n'appartienne pas au groupe ayant pour id=2. Je pensais à l'instruction MINUS, mais elle ne fonctionne pas en MYSQL...? J'arrives bien à obtenir tout les utilisateur ayant le groupe 2 : Code :
Merci |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
1) Les jointures s'écrivent depuis 20 ans avec l'opérateur JOIN. Il serait temps de s'y mettre !
2) Évitez de relancer la guerre des étoiles ! 3) La table GroupeUtilisateurs est une table associative entre les groupes et les utilisateurs. Sa clé primaire devrait être composée du couple {idutilisateur,idgroupe} ; l'id est inutile. 4) Les tables et colonnes devraient être nommées au singulier, pas au pluriel. Vous recherchez les utilisateurs pour lesquels il n'existe pas de ligne dans la table GroupeUtilisateurs pour cet utilisateur associé au groupe 2. Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. 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 la suite Linux Mageïa ! |
||
|
00
|
|
|
#3 | ||||
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
salut,
déjà une bonne pratique jamais * si tu fais une jointure, ensuite les jointures s'écrivent depuis 1992 avec l'opérateur join... la requête est simple: Code sql :
pour obtenir l'inverse: tous les utilisateurs qui sont dans le groupe ayant l'id=2: Code sql :
si tu as besoin de récupérer le nom du groupe ce n'est qu'une jointure supplémentaire un petit truc si tu mets idgroupes, il serait logique de mettre alors idutilisateurs... en gros pluriel ou singulier il faut choisir perso, je ne suis pas fan des clés primaires multi-colonnes car si tu recherches dans un index multi-colonnes sur une ou des colonnes dont la première n'est pas utilisée dans le test, logiquement l'index est ignoré et c'est un fullscan... non?
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
||||
|
|
00
|
|
|
#4 | |
|
Membre confirmé
![]() |
Bonjour,
Citation:
Mes meilleurs voeux 2013
__________________
_______________________________________ POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else? |
|
|
00
|
|
|
#5 | |
![]() ![]() |
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. 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 la suite Linux Mageïa ! |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() |
Je pense que tout est dit
__________________
_______________________________________ POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else? |
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
là c'est mieux oui
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com