2013-04-20 32 views
0

我有一個推特相似的網站用於學習目的,在那裏你可以關注用戶。 現在我想要獲取所有登錄後的用戶。通過不同表格獲得用戶身份證號碼

下表有三行。 ID,USER_ID,follow_id

現在,如果用戶1什麼遵循用戶2 行中的值會user_id = 1follow_id= 2

但是,當我試圖獲取具有相同follow_id用戶,我只得到user_id 2作爲回報。並非所有的用戶都有follow_id = 2

有什麼想法?

SELECT 
    user.id, user.username, user.email, 
    userdetails.profile_img, following.follow_id 
FROM 
    user 
JOIN 
    userdetails ON user.id = userdetails.user_id 
JOIN 
    following on user.id = following.follow_id 
WHERE 
    following.follow_id = 2 

這是我的表看起來像

Following 
id | user_id | follow_id 

Tweets 
user_id|id|date|message 

user 
id|email|password|username 

userdetails 
id|firstname|lastname|profile_img|user_id|about 

任何提示嗎?

+0

這是* Kwetter *? – Rob 2013-04-20 20:00:34

+0

在哪個表中你有兩個列'userid'和'fol​​lowId'? – Sachin 2013-04-20 20:04:08

+0

@Sachin我用表更新了我的問題。 – Dymond 2013-04-20 20:07:01

回答

2

更改JOIN following on user.id = following.follow_idJOIN following on user.id = following.user_id

SELECT 
    user.id, user.username, user.email, 
    userdetails.profile_img, following.follow_id 
FROM 
    user 
JOIN 
    userdetails ON user.id = userdetails.user_id 
JOIN 
    following on user.id = following.user_id 
WHERE 
    following.follow_id = 2 
+0

我幾乎可以肯定,我嘗試過。哈哈,被卡住了一段時間。現在好好工作!謝謝你,我的朋友。 – Dymond 2013-04-20 20:18:38

1

試試這個

SELECT * FROM Following 
INNER JOIN Users on Following.UserId=Users.Id 
INNER JOIN UsersDetails on Users.Id=UserDetails.UserId 
where [email protected] 

的,當然,只要你想,你可以選擇欄。

1
SELECT user.id, user.username,user.email, 
userdetails.profile_img, following.follow_id FROM user JOIN userdetails 
ON user.id = userdetails.user_id JOIN following 
ON user.id = following.follow_id WHERE following.follow_id = 2 

要獲得匹配給用戶的所有ID follow_id = 2:

SELECT user_id from following where follow_id = 2; 

(我會改變他們user_id列名在下面的表格follower_id

要還從user_id獲取與用戶訂單表關聯的數據:

SELECT userdetails.*, user.* FROM userdetails JOIN users 
ON user.id = userdetails.user_id JOIN following 
ON user.id = following.***user_id*** WHERE following.follow_id = 2; 

看看是否有效,我認爲你的問題是你加入了下面的內容。 follow_id而不是following.user_id

相關問題