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 ?