2011-07-18 2 views
-2

그래서 내가 피곤 해요,하지만 DISTINCT하지 왜 여기서 일 :SQL 고유 질문

 SELECT DISTINCT Review.user_id, Review.id, User.*, Account.* 
     FROM reviews As Review 
     INNER JOIN users AS User ON Review.user_id = User.id 
     LEFT JOIN accounts AS Account ON User.id = Account.user_id 
+3

"작동하지 않음"을 정의하십시오 - 예상 결과가 아니거나 오류가 있습니까? –

+1

일부 테이블 구조/샘플 데이터가 도움이 될 것입니다. – Jacob

+0

예상 된 결과가 아닙니다. 3으로 제한이 설정되어 있지만 매번 동일한 user_id가 반환됩니다. – cdub

답변

1

고유 한 user_id 만 원한다면 GROUP을 사용해보십시오. 그러나 이것은 결과에서 다른 모든 결합 된 레코드를 잘라 버릴 것입니다. 따라서 user_id로 무엇을 선택하고 싶지 않은지 생각해보십시오.

SELECT DISTINCT Review.user_id, Review.id, User.*, Account.* 
    FROM reviews As Review 
    INNER JOIN users AS User ON Review.user_id = User.id 
    LEFT JOIN accounts AS Account ON User.id = Account.user_id 
    GROUP BY Review.user_id 
+0

그래, 고마워. – cdub

5

고유은 정확히 동일한 결과에서 작동하기 때문에. 하지만 여기에는 ID이 포함되어 있으며, 각 레코드를 고유하게 만드는 각 행마다 고유합니다. 결과는 모든 기록을 보여줍니다.

+0

그래서 내가 거기에 4의 한계를두면 어떻게 4 명의 다른 사용자로부터 4 리뷰를 얻을 수 있는지 확인하십시오 – cdub

+0

투표 할 때 의견을 남겨주세요. -ve. 감사. –