2014-07-24 2 views
1

에서 다른 속성에 따라 나는 다음과 같은 테이블이 있습니다MySQL은 가입 왼쪽 : 쇼 행을 조인 된 테이블

Pools       Members        User 
---------------------------------------------------------------------------------- 
id  name    id  pool_id  user_id    id  name 
---------------------------------------------------------------------------------- 
1  abc    1   1   101    101  test1 
2  xyz    2   1   102    102  test2 
          3   2   105    105  test5 
          4   2   106    106  test6 

사용자가 로그인했을 때, 그는 그가되지 않은 그 풀의 목록을 표시한다을 예 : id 101 사용자가 로그인 한 경우 다음 결과가 표시됩니다.

Pool    Members 
xyz    2 members 

답변

2

는 위의 쿼리가 하나가 구성원의 총 수와 예컨대 풀 이름을 결과를 보여줍니다이

SELECT name AS Pool, 
     count(pool_id) AS Members 
FROM Pools 
JOIN Members ON Pools.id=Members.pool_id 
WHERE Pool.id NOT IN 
    (SELECT pool_id 
    FROM Members 
    WHERE user_id=101) 
GROUP BY Member.pool_id 
+0

에 싶지만 해당 풀에 대한 구성원의 총 수를 가진 모든 풀의 목록을 할 수 있습니다. –

+0

'GROUP BY Member.pool_id'를 추가하십시오. 업데이트 된 답변을 확인하십시오 – Sadikhasan

+0

감사합니다! 그것은 작동합니다 ... –

관련 문제