Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1360 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  jointure mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

jointure mysql

n°1393501
nORKy
Grmmph...
Posté le 23-06-2006 à 11:05:33  profilanswer
 

bonjour, je suis debutant en jointures et j'aimerais votre aide.
J'utilise mysql
 
Voici 3 tables :
- users ; champs que je veux et utilise au SELECT ('id', 'name', 'fname', 'entity_id')
- groups ; champs que je veux ('name') et champs utile au SELECT ('id')
- users_groups ; je ne veux aucun champs, mais elle possède les champe ('user_id', 'group_id')
 
Principe :
users et la table des utilisateurs
groups est la table des groups
users_groups est la liste des utilisateurs qui appartiennent à un groupe
 
J'aimerais selectioner les users qui ont un entity_id=1
Mais, j'aimerais avoir également le nom du group ('groups.name') auquel il appartient (mais il possible qu'ils n'appartiennent à aucun group et que donc il n'y pas d'entré dans users_groups leurs concernant)
 
En gros, le resultat possède les lignes users.id,users.name,users.fname,users.entity_id,groups.name (qui lui peut voiloir null ou une string)
 
J'ai essayer avec des LEFT JOIN, mais ca ne me renvoi pas les users qui n'appartient pas à un groupe
 
Merci de votre aide


Message édité par nORKy le 23-06-2006 à 11:06:40
mood
Publicité
Posté le 23-06-2006 à 11:05:33  profilanswer
 

n°1393551
shikra
life is short,drink faster!!!
Posté le 23-06-2006 à 11:46:55  profilanswer
 

Pour tes jointure,tu doi d'abord utiliser des trigger sinon ca va etre dur
 
tu utilise quel version de MySql?
Et peut tu me passer tout les champ qu'il y a dans tes table users et groups
 
et si j'ai bien compris ta table users_groups est la table ou tu rassemble les information prisent sur les 2 autre table?
 
edit:mauvaise comprehension de ma part desole :ange:


Message édité par shikra le 30-06-2006 à 11:13:54
n°1393557
nORKy
Grmmph...
Posté le 23-06-2006 à 12:00:23  profilanswer
 

un trigger pour quoi faire ??
 
bon, voici la tables des users :

Code :
  1. user_id | user_name | user_fname |entity_id
  2.    1    |     dupont  | patrick     |    1
  3.    2    |     martin   |  jean        |    1
  4.    3    |        foo     | bar          |    2


 
table groups

Code :
  1. group_id | group_name
  2.     1      | administrateur
  3.     2      |   superviseur


 
table users_groups

Code :
  1. user_id | group_id
  2.      1      |   1
  3.      3      |   2


Ce qui veut dire que le users 1 appartient au groupe 1 et l'users 3 apparient au groupe 2 (et donc que le user 2 n'appartient à aucun groupe
 
Pour entity_id = 1, je voudrais donc comme résultat

Code :
  1. user_name | user_fname | group_name
  2.    dupont   | patrick     | administrateur
  3.    martin    |  jean        |


n°1393655
nORKy
Grmmph...
Posté le 23-06-2006 à 14:46:42  profilanswer
 

Je me suis finalement documenté et re documenté
J'ai pendant un moment eut une erreur 1066 : not unique table/alias groups
et J'ai finalement réussi :
 

Code :
  1. SELECT u.user_id,user.user_name,u.user_fname,g.groupe name
  2. FROM users u
  3. LEFT OUTER JOIN users_groups ug ON ug.user_id = u.user_id
  4. LEFT OUTER JOIN groups g ON g.group_id = ug.group_id
  5. WHERE u.entity_id=1


 
Merci


Message édité par nORKy le 23-06-2006 à 14:47:05

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  jointure mysql

 

Sujets relatifs
problème de jointure avec deux tables avec mysql[mysql] Problème de jointure [résolu merci antho1983]
Jointure MySQLMySql : jointure externe
Triple jointure MySQLMySQL jointure directement dans MySQLAdmin
[MySQL] Problème avec une requète (jointure ...)[MYSQL] Suppression d'enregistrements avec une jointure de table
MySQL - Delete avec une jointure?[MySQL] jointure dans syntaxe update
Plus de sujets relatifs à : jointure mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR