by 쿼리냠냠 [SQL Query] [2021.11.10 18:37:49]
구루비회원님들 안녕하세요.
어떻게 설명해야할지 몰라 예시를 통해서 보여드리도록하겠습니다.
A테이블
A_id | name |
1 | 감자 |
2 | 테이블 |
B테이블
b_id | a_id(fk) | name |
1 | 1 | b의 값1 |
2 | 2 | b의 값2 |
3 | 2 | b의 값3 |
C테이블
c_id | a_id(fk) | name |
1 | 1 | a의값 1 |
2 | 1 | a의값 2 |
3 | 2 | a의값 3 |
3 | 1 | a의값 4 |
원하는 결과값은 다음과 같습니다.
a_id | b의 카운트 | c의 카운트 |
1 | 1 | 3 |
2 | 2 | 1 |
A테이블에는 로우가 [1,2]가 존재하는데요.
b테이블에서 1,2의 총개수를 구하고싶고
c테이블에서도 1,2의 총개수를 각각 구하고싶습니다.
1, A테이블과 B테이블을 조인하여 group BY해서 b의 카운트값을 구하고
2. A테이블과 C테이블을 조인하여 group by해서 c의 카운트값을 구하면 되는데요.
이렇게 하면 2번의 쿼리문을 날려서 값을 가져오게되는데
좀 더 나은 방법이나 하나의 쿼리문으로 해결할 수 있을까요?
읽어주셔서 감사드립니다.
좋은 하루보내세요.