J'ai deux tables avec la structure suivante:rejoindre comme une alternative à multiples ou de
table name: friends
uid (PK)(FK)
friend_id (PK)(FK)
table name: posts
post_id (AI)(PK)
post_text
uid (FK) //poster id
Je voudrais sélectionner les messages qui ont été seulement fait des amis de l'utilisateur x
. Mon plan inital était d'utiliser le code suivant:
SELECT posts.post_text INNER JOIN friends ON posts.uid = friends.friend_id
WHERE friends.uid = x
Cependant, cela ne semble pas fonctionner. . (Je suis tous les messages fait par x, fait tous les messages effectuées par de X amis La seule alternative que je peux penser est d'utiliser un (peut-être très longue) chaîne de OR de - comme dans
WHERE posts.uid = 'friend_id_1' OR posts.uid = 'friend_id_2' ect..
Toute alternative solutions? Merci.
Si vos données a en effet x comme ami d'eux-mêmes, vous pouvez exclure ce cas en ajoutant: « ET friends.friend_id = x » à cette requête. – MtnViewMark