Следуя этому вопросу last_question с этой таблицей
`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);
Как я могу видеть, что понравилось или не понравилось отдельным пользователям? Допустим, я хотел иметь сводную таблицу всех симпатий и антипатий с другим столбцом, понравилось ли пользователю x.
Это запрос, который я пробовал
$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
Я предполагаю, что проблема, с которой я столкнулся, заключается в том, как вы относитесь к user_id = x в этой конкретной строке, а не ко всем строкам. Заранее спасибо Эндрю