2016-11-30 20 views
0

我有兩個表activity_loguser_followers。我必須加入這兩個表格,並獲取用戶活動(他假設user_id 6在user_id 4之後)。但是下面的查詢只返回id爲6的用戶的活動。我想獲得用戶的活動,其id爲6,加上他跟隨的用戶的活動。加入兩個表在特定的表字段

查詢

SELECT activity_log.* 
FROM activity_log 
    join user_followers ON activity_log.user_id = user_followers.follow_id 
     AND activity_log.user_id = 6; 

activity_log:

enter image description here

user_followers:

enter image description here

+0

你不解釋我們什麼是你的問題?有沒有錯誤?可能你有一些意想不到的結果?請更具體地 – olibiaz

+0

如果你只是想吹噓這是一個Twitter帳戶的用途。除非你有問題,你沒有提到? –

回答

0

聽起來像你想要user_id 6的活動加上他所關注用戶的活動。這將是:

SELECT activity_log.* 
FROM activity_log 
LEFT OUTER JOIN user_followers 
    ON activity_log.user_id = user_followers.follow_id 
WHERE (activity_log.user_id = 6 OR ISNULL(user_followers.user_id,0) = 6); 

左外側在情況下使用user_id說明6沒有追隨者。

+0

運行查詢時出現此錯誤 'SQL錯誤(1582):調用本機函數'ISNULL''時出現錯誤的參數計數 –

+0

您是否在最後忘記了逗號零? ISNULL(user_followers.user_id,** 0 **) – Eric