2017-10-14 11 views
1

J'essaye de créer une instruction select qui retournera une liste d'utilisateurs suivant un utilisateur spécifique, basé sur des conditions de deux tables. J'ai la relation suivante créée dans ma base de données. (10/10 entrants ms peinture compétences)
Comment choisir parmi plusieurs tables en fonction de plusieurs à plusieurs relation?

Table Design

Ce que je veux à la sortie par exemple, sont les utilisateurs suivants tim, (suiveur), qui ont des notifications définies comme 0 dans la table des utilisateurs. De là, je peux faire ce que je veux par programme avec les résultats.

Jusqu'à présent, je l'ai essayé jointure,

SELECT users.username FROM users 
INNER JOIN followers 
ON users.username = followers.followed 
WHERE followers.followed = users.username AND 
users.username = 'tim' 

et je ne peux pas sembler comprendre comment formater correctement.

+0

ok, édition entrant – Pacified

+1

i inclus la méthode je – Pacified

Répondre

1

Serait beaucoup plus propre si vous utilisez à la place de la chaîne 'follow', le 'userid' et au lieu du 'follower' le 'followerid'.

Dans ce cas, userid = 1 (identifiant utilisateur tim) dans la table des abonnés.

Ensuite, la requête serait:

select * from users where notifications=0 and id in (select followerid from 
followers where userid=1) 

Si vous devez en tenir à cette structure:

select * from users where notifications=0 and username like (select follower from 
followers where followed like 'tim') 
+0

Le problème avec qui programme python saisit le nom d'utilisateur de la personne (c'est un bot), et prend ce nom et l'insère dans l'instruction sql. Donc, il semblerait que je devrais chercher l'ID d'abord qui correspond au nom qu'il trouve. – Pacified

+0

J'ai édité pour adapter à votre demande! – farbiondriven

+0

Ok, tester maintenant – Pacified