데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
학번 | 가족 수 | 가족 관계 | ...... |
123 | 2 | 오빠 | ... |
234 | 1 | 언니 | ... |
234 | 1 | 동생 | ... |
456 | 2 | 형 | ... |
456 | 3 | 누나 | ... |
위에 회색 테이블명이 STUDENT, 아래 주황색 테이블명이 FAMILY 일 때
그 친구의 총 가족수는 몇명인지를 알아보려면 어떻게 해야할까요?
일단 제가 한 방법은
SELECT => 학번, 친구이름, 가족 수만 나타나도록
FROM => 두 테이블을 외부조인(STUDENT에서의 학번과 FAMILY에서의 학번이 같을 때) 했습니다.
GROUP BY => 요걸로 그룹화하고
ORDER BY => 학번을 기준으로 정렬했습니다.
여기서 그 친구의 가족수(결과)라고 하면
학번 | 친구이름 | 가족 수 |
123 | AAA | 2 |
234 | BBB | 2 |
456 | DDD | 5 |
SUM도 써보고 이런저런 방법을 해 봤는데 안 되더라구요.
제가 하는 방법이 잘못된건지 처음부터 접근이 잘못된 건지..
어떻게 하면 저렇게 가족수가 나타날까요?
Comment 1
-
아스날
2014.10.20 12:04
SELECT a.학번,
a.친구이름,
SUM(b.가족수) AS '가족수'
FROM STUDENT a
JOIN Family b ON a.학번 = b.학번
GROUP BY a.학번, a.친구이름