2017-10-14 176 views
1

我想創建一個select語句,它將根據兩個表的條​​件返回一個特定用戶的用戶列表。我在我的數據庫中創建了以下關係。 (進入10/10 MS油漆技能)
如何從多個表中選擇基於多對多關係?

Table Design

我想例如輸出什麼,有以下添(跟隨者)的用戶,其中有users表中設置爲0的通知。 從那裏我可以做我想要的程序與結果。

到目前爲止,我已經試過內部聯接,

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

,我似乎無法弄清楚如何將它正確格式。

+0

OK,編輯傳入 – Pacified

+1

我包括我以前 – Pacified

回答

1

如果您使用的不是'follow'字符串,'userid'而是'follower''followerid',會更清晰。

在這種情況下,在追隨者表中將是userid = 1(tim user id)。

然後查詢將是:

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

如果你需要堅持到結構:

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

的方法,該問題是編程python抓取了用戶名(它是一個bot),然後把這個名字插入到sql語句中。所以看起來我必須首先搜索與找到的名稱相對應的id。 – Pacified

+0

我編輯以適應您的請求! – farbiondriven

+0

好吧,現在測試這個 – Pacified