1
submissions
, submissions_votes
및 users
의 3 개의 테이블이 있습니다. 나의 현재 쿼리여러 테이블을 결합 할 때 사용자가 합계에 있는지 확인하십시오.
SELECT s.*, u.username, u.avatar, SUM(sv.up) helpfulVotes
FROM submissions s
INNER JOIN users u
ON s.user_id = u.id
LEFT JOIN submissions_votes sv
ON s.id = sv.submission_id
WHERE s.id = 23
GROUP BY s.id
나를 위해 제출 세부 사항을 제출 한 사용자 및합니다 (submissions_votes
테이블에서 제공) 제출에 helpfulVotes의 양을 반환합니다.
잘 작동하지만 SUM (sv.up) 내의 조건을 테스트하여 해당 합계 내의 사용자 중 submissions
의 특정 user_id와 일치하는지 확인합니다.
내가 이런 일을 생각했지만 그것이 작동하지 않습니다
SELECT s.*, u.username, u.avatar, SUM(sv.up) helpfulVotes,
SUM (IF(sv.user_id = 15, count, 1)) as currentUserVoted, <---- ???
FROM submissions s
INNER JOIN users u
ON s.user_id = u.id
LEFT JOIN submissions_votes sv
ON s.id = sv.submission_id
WHERE s.id = 23
GROUP BY s.id
가 어떻게 현재 사용자의 ID에 해당 금액 내에서 일치하는 항목이 있는지 확인 할 수 있습니다 (이 경우, 15) ?
Word 님, 감사합니다. –