2011-07-22 41 views
0

我有2張桌子。 一個叫做Video,另一個叫做ThumbsUp。幫助count();

Video -> Id, Path, Thumbnail, Profile 

ThumbsUp -> Id, Owner, Video 

我需要拉每個視頻記錄WHERE PROFILE = 2, 而COUNT(ThumbsUp.Id)喜歡的每個視頻的數量, 即使該視頻沒有任何豎起大拇指。

任何幫助表示讚賞。 。 。

+0

如何兩個表都與各自的其他?通過哪一列?不能相信,通過Id列,因爲每行應具有自己的唯一ID,我期望看到像ThumbsUp的VideoId,但不看 – sll

+0

表是通過Video.Id和ThumbsUp.Video – TuK

回答

3
SELECT Video.Id, COUNT(ThumbsUp.Video) 
FROM 
    Video LEFT JOIN ThumbsUp ON Video.Id = ThumbsUp.Video 
WHERE Video.Profile = 2 
GROUP BY Video.Id 
+0

每個表將有其每行都擁有唯一的ID,因此Video.Id和ThumbsUp.Id沒有任何關係。 –

+0

@獵人好了 - 回答編輯相應 –

+0

應該是upvote,點擊得太快。 –

-2
SELECT V.*, COUNT(T.id) FROM Video V 
OUTER JOIN ThumbsUp T ON T.Video = V.id 
WHERE V.profile == 2; 

編輯:添加外連接

+0

相關的是視頻和thumbsup之間的關係是什麼? –

+0

不會給零零ThumbsUp計數,甚至組視頻 –

+0

總之有應該是外部連接到足以滿足要求 – sll

1
SELECT v.*, count(tu.id) 
     FROM video v 
     LEFT JOIN ThumbsUp tu ON tu.video_id = v.id 
    WHERE v.profile = 2 
    GROUP BY v.id