2012-03-09 43 views
1

說我有如下表評級:鑑於兩個用戶,選擇每一個崗位兩個用戶評級,並且每個用戶的每一個朝後

create table ratings (
user_id int unsigned not null, 
post_id int unsigned not null, 
rating set('like','dislike'), 
primary key (user_id, post_id) 
); 

和兩個用戶,IDS 1和2。我想要了解他們在評分中的贊同程度,所以我需要的是一種選擇兩位用戶評分的所有帖子的方式,以及每位用戶對每篇帖子的評分。例如:

+---------+---------+---------+ 
| post_id | rating1 | rating2 | 
+---------+---------+---------+ 
|  1 | like | dislike | 
|  2 | like | like | 
|  5 | like | dislike | 
|  6 | dislike | dislike | 
+---------+---------+---------+ 

任何線索表示讚賞,謝謝!

回答

2

加入您的評級表上本身的帖子ID內,並從每個表中選擇等級,限制用戶:

SELECT r1.post_id, r1.rating AS rating1, r2.rating AS rating2 
FROM ratings r1 
JOIN ratings r2 ON r1.post_id=r2.post_id AND r1.user_id!=r2.user_id 
WHERE r1.user_id=1 AND r2.user_id=2 
+0

燦爛,非常完美!非常感謝,這將在未來幫助我很多。 – Sophivorus 2012-03-09 04:42:35

相關問題