2017-03-04 2 views
0

나는 테이블이 있습니다여러 SUM과 하나 개의 쿼리와 MySQL을 가입은

member [member_id,member_name] 

을 내 다른 테이블입니다 어디 member_id 동일합니다! 예 :

회원 :

member_id , member_name 
1, test_1 
2, test_2 

균형

balance_id,member_id,balance 
1,1,-800 
2,1,1000 
3,2,500 

회원 가입 균형

member_id , balance 
1,200 
2,500 

주의 사항 : 나는 하나 개의 쿼리로이 모든 것을 가지고! 다음 집계를 수행

select m.*, 
    b.balance 
from member m 
join (
    select member_id, 
     sum(balance) balance 
    from balance 
    group by member_id 
    ) b on m.member_id = b.member_id; 

또 다른 방법은 처음 가입하는 것입니다 : 당신이 회원 테이블로 가입해야하는 경우 수행

select member_id, 
    sum(balance) balance 
from balance 
group by member_id 

:

당신의 예상 출력을 위해
+1

질문이 있으십니까? 샘플 데이터, 원하는 결과 및 실제 질문을 포함해야합니다. –

+0

@ GordonLinoff 실제로 내 질문은 : 하나의 테이블 (하나의 열에)에 여러 합계를 사용하는 방법입니다. 그리고 매우 간단한 질문에 샘플을 추가했습니다. – Mohsen

답변

0

이 할 것 :

select m.member_id, 
    m.member_name, 
    sum(b.balance) balance 
from member m 
join balance b on m.member_id = b.member_id 
group by m.member_id, 
    m.member_name; 
+0

실제로 가입해야합니다! 몇 가지 이유. 두 번째 코드는 사실이지만 하나의 쿼리가 아닙니다! – Mohsen

+0

@ user6935676 - it *는 * 하나의 쿼리입니다. 당신이 원하는대로하지 않습니까? – GurV

+0

@ user6935676 - 세 번째를 추가했습니다. 확인해주십시오 – GurV

관련 문제