Données communes à 2 requêtes - SQL/NoSQL - Programmation
Marsh Posté le 21-07-2008 à 15:46:47
user: 
- id_user (primary key) 
- prenom 
- nom ... 
 
group: 
- id_group (primary key) 
- id_user (propriétaire du groupe) 
- nom_group 
 
user_group: 
- id_user_group (primary key) 
- id_group 
- id_user 
 
Voilà. 
- 
Marsh Posté le 21-07-2008 à 17:07:49
je comprend pas l'utilité de ta cle id_user_group 
sachant que la entre user et group tu as une relation n:m, tu as juste besoin de id_group et id_user dans ta table user_group (tu auras jamais 2 fois la meme conbinaison vu un utilisateur va pas etre 2 fois inscrit au meme groupe)  , aprés pour ta requete , tu cherche les amis en commun par rapport à quoi , à une liste définit , les amis en commun de qui, c'est un peu flou la 
Marsh Posté le 21-07-2008 à 17:38:20
oui, c'est vrai que ce champ n'est pas très utile, sauf pour une référence lors de suppression, ça ne change rien au performances. 
paul à 3 amis: jean, pierre et jacques (leur id_user est dans user_group et l'id_group est celui du groupe les amis de paul). 
pierre à 4 amis: paul, jean, antoine, et alex. 
paul et pierre ont jean comme amis commun. 
Voilà, c'est un peu plus claire ? 
 
Merci pour l'aide. 
Marsh Posté le 21-07-2008 à 17:56:38
ok donc tu passerai en parametre deux prenoms et la requete te renverrai le ou les amis en communs 
c'est ca?
Marsh Posté le 21-07-2008 à 18:08:13
si tu te souviens comment on fait l'inverse de "union" en SQl, c'est tout simple 
mais je le m'en souvient plus  
Marsh Posté le 22-07-2008 à 11:18:46
| infoman64 a écrit : si tu te souviens comment on fait l'inverse de "union" en SQl, c'est tout simple   | 
 
INTERSECTION 
 
Mais : 
1/ c'est pas toujours supporté 
2/ Un bête INNER JOIN entre les deux résultats retourne la même chose en plus rapide
Marsh Posté le 22-07-2008 à 13:54:21
ah ok je savais pas que c'etait pas toujours supporté 
c'est bon a savoir 
Marsh Posté le 22-07-2008 à 20:07:29
Merci pour la code et les fonctions, je vais essayer, mais j'aimerais tout de même comprendre ce que je fait. 
J'ai utilisé le INNER JOIN pour la 1ère x et ça fonctionne, j'obtiens la liste d'amis de mes amis, mais pas encore les communs. 
Voici le code: 
Code :
  | 
Marsh Posté le 22-07-2008 à 20:10:58
au fait, j'ai oublié, si je remplace le $friends_id par $id_user, alors j'obtiens la liste de mes amis. 
en prenant les id_user communs de cette requête avec la même bis ($id_user à la place de $friends_id), j'obtiens ce qu'il me faut.
Marsh Posté le 09-08-2008 à 10:47:53
mais je n'ai toujours pas trouvé la solution pour obtenir les enregistrements communs à ces 2 requêtes.
Marsh Posté le 11-09-2008 à 23:19:41
je n'ai pas encore trouvé avec la BDD, mais il faudra faire les 2 requêtes et tester dans un boucle.
Marsh Posté le 21-07-2008 à 14:06:55
Hello,
Je génère une liste d'amis, mais j'aimerais connaître la liste des amis communs pour chacuns de ces amis.
J'ai un table user, group et user_group comme associative.
J'arrive à obtenir pour chaque amis, la liste de ses amis dans ma requête, mais pas des amis commun.
Comment procéder ?