2011-07-22 8 views
0

私は2つのテーブルを持っています。 1つはビデオと呼ばれ、もう1つはThumbsUpと呼ばれます。count();のヘルプ。

Video -> Id, Path, Thumbnail, Profile 

ThumbsUp -> Id, Owner, Video 

私はそのビデオがアップ任意の親指を持っていない場合であっても 、各映像ごとにビデオレコードWHERE PROFILE = 2、 そしてCOUNT(ThumbsUp.Id)同類の数を引っ張っする必要があります。

何か助けていただければ幸いです。 。 。

+0

を外部結合を追加しますか?どの列で?各行には独自のIDが必要であるためIdカラムでそれを信じることはできませんが、ThumbsUpのVideoIdのように見えますが、 – sll

+0

は表示されません – 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

@Hunter Ok - それに応じて編集された –

+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

ビデオとサムズアップの関係は何ですか? ? –

+0

ThumbsUpカウントを0にしたり、ビデオをグループ化したりしません。 –

+0

とにかく、OUTERで参加する必要があります。 – 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