Mysql İçiçe Select

0 Cevap php

Following on from this question last_question with this table

`id`, `bbs_id`, `user_id`, `like_dislike`
(15,   4,        2,         0),
(14,   4,        1,         0),
(13,   3,        1,         0),
(12,   2,        1,         1),
(11,   1,        2,         0),
(10,   1,        1,         1);

Nasıl bir birey gibi kullanıcıların ya da sevmemek ne görebilirim? Ben kullanıcı x sevdim olmadığı için başka bir sütun ile tüm hoşlandığı ve hoşlanmadığı bir toplam tablo var istedim Diyelim ki.

Bu denedim sorgu

$user_id = 1;


SELECT bbs_id,
     (SELECT like_dislike FROM bb_ratings WHERE user_id={$user_id}) AS thisUsersRating,
       SUM(CASE WHEN like_dislike = 1 THEN 1 ELSE 0 END) AS likes, 
       SUM(CASE WHEN like_dislike = 0 THEN 1 ELSE 0 END) AS dislikes
FROM bb_ratings
GROUP BY bbs_id

I guess the problem I am running into here is, how do you refer to user_id = x in this particular row, not in all the rows. Thanks in Advance Andrew

0 Cevap