나는 데이터베이스에서 증기 중에 요청 된 노래를 수집합니다. 각 노래는 알려진 사용자가 요청합니다. 각 사용자가 요청한 노래를 평가할 수있는 기능을 구현하고 싶습니다.SELECT가 존재하지 않는 id에 대한 결과를 찾는다
가 지금은 노래가있어 얼마나 자주뿐만 아니라이 노래에 대한 평균 평가와 함께 자사의 ID로 식별 song_request로 명시을 선택합니다 : 당신이 내 데이터베이스 모델에서 살펴 수 상황을 감안할 때 평가. 이를 위해 나는 다음과 같은 SQL 사용하려면 :
그리고 sr_ratings 테이블에
몇 가지 예를 들어 등급 :SELECT
sr.id,
sr.user_id,
sr.title,
sr.link,
sr.request_time,
COALESCE(AVG(r.rating), 0) AS rating,
COUNT(r.sr_id) AS votes
FROM song_requests sr LEFT OUTER JOIN sr_ratings r
ON sr.id = r.sr_id
WHERE sr.id = 12345;
을 나는 다음과 같은 데이터가
으로 SQL을 실행하면 WHERE 절에서sr.id = 1
63,210 나는 다음과 같은 예상 된 결과 얻을 : 나는 지금 song_request의 ID를 사용하는 경우
존재하지 않습니다
sr.id = 12345
내가 얻을 것이다 다음 결과 :
ID가 없기 때문에 쿼리에서 결과를 찾지 못할 것으로 예상됩니다. 내가 여기서 어디로 잘못 가고 있니? 원하는 결과를 얻으려면 무엇을해야합니까?
문제는 왼쪽 조인입니다. –
(1) 사용중인 데이터베이스에 질문에 태그를 답니다. (2) 내부 조인으로 전환하면됩니다. –
내부 조인은 정확히 같은 결과를 반환합니다. – IonicBlaze