2017-05-15 5 views
0

전자 투표 웹 사이트를 만들고 투표 용 테이블 두 개와 후보자 용 테이블 두 개를 각 후보에 대해 최대 투표 수를 얻고 싶습니다. 각 후보에 대해 결과를 산출해야합니다. 같은 : 후보 이름 :처럼 투표 수는두 테이블에서 최대 가져 오기

내 테이블은 같습니다

candidate:Id,name 
vote:Id,candidateID,numberofvote 

여기 내 쿼리입니다

SELECT Vote.Id, 
Vote.NumberOfvote, 
Vote.CandidateID, 
Candidate.Name 
FROM Vote 
INNER JOIN Candidate 
ON Vote.CandidateID = Candidate.Id 

아무도 이것으로 나를 도울 수 있습니까?

+0

'Vote.NumberOfVote'는 필드입니까? 아니면'Count (Vote.NumberOfVote)'를 원하십니까? 'Vote' 테이블이 어떻게 구성되어 있는지 혼란 스럽습니다. 그리고 나는 여러분이'MAX()'투표를 원한다고 생각하지 않는다. 각'후보자 '에 대해 단지'Count()'투표를 원한다. –

+0

어떤 DBMS를 사용하고 있습니까? 포스트그레스? 신탁? –

답변

1

나는 당신이 어떤 문제인지 완전히 이해하고 있지 않지만 어쨌든 Max()와 GROUP BY를 사용해야한다. 다음과 같은 내용 :

SELECT Candidate.Name, Max(Vote.NumberOfvote) 
FROM Vote INNER JOIN Candidate 
ON Vote.CandidateID = Candidate.Id 
GROUP BY Candidate.Name