2016-09-18 5 views
0

사용자가 SQL에서 자신의 게시물에 대해 가지고있는 좋아하는 것의 총합을 얻으려고합니다.SQL에서 두 개의 쿼리에 합치기

표 내용 :

  1. 이upvoteOrDownVote
  2. 을 content_id의 :

표가 좋아을 poster_id content_id의

  1. 기본적으로 나는 다음과 같은 테이블 디자인을 가지고
  2. 는 제가해야 할 것은 Content 테이블, 어디에서 poster_id == user 다음 해당 content_id 각각에 대해 나는 Likes 테이블에서 모든 좋아하는 얻을 필요를 content_id을 모두 얻을 수있다 그래서 본질적으로

을 liker_id. 이러한 쿼리를 별도로 수행하는 것은 쉽지만 한 쿼리로 결합하는 방법을 잘 모르겠습니다.

답변

1

두 테이블을 결합하고 COUNT(*)을 사용하여 선택한 행을 계산하십시오.

SELECT COUNT(*) AS likes 
FROM Likes AS l 
JOIN Content AS c ON l.content_id = c.content_id 
WHERE c.poster_id = user 
AND l.upvoteOrDownVote = 'upvote'