컴퓨터활용(컴활) 공부

[데이터베이스] 컴활실기 풀어보기 (GROUP BY, IIF, RIGHT)

미스털이 사용자 2024. 1. 25. 14:15
반응형

(문제 출처 : https://blog.naver.com/hellstudy/223302615932 )

 

액세스 컴활 실기문제를 계속해서 풀어보자.

 

 

 

 

===

 

먼저 [만들기]->[쿼리 디자인] 실행

 

 

 

 

이렇게 건수, 합계를 나타나게 하려면 "요약"이용해야

[디자인]->[요약]

 

먼저 이 필드를 드러낸 다음

SQL 보기로 가보면

 

 

SELECT 봉사내역.봉사내용
FROM 봉사내역
GROUP BY 봉사내역.봉사내용;
 

 

위와 같이 돼있는데

문제에서 요구하는

IIF, RIGHT이용해서

멘토 문자열 나오면 "청소년도우미"

그외엔 "어르신도우미"로 나오게 해야하므로

 

SELECT 
      IIf(Right(봉사내역.봉사내용,2)="멘토","청소년도우미","어르신도우미") AS 구분
FROM 봉사내역
GROUP BY 
      IIf(Right(봉사내역.봉사내용,2)="멘토","청소년도우미","어르신도우미")
 

 

위와 같이 나타내면 된다.

IIF는 엑셀의 IF함수와 비슷하고

RIGHT는 오른쪽 문자열을 추출하는 함수

그리고 중요한 규칙이

기준 필드에 대해서

SELECT에 나타낼 기준 필드와 GROUP BY에 나타낼 기준 필드를 동일하게 나타내야 한다.

 

===

그다음엔 개수와 합계를 나타내면 되므로

 

위와 같이 해주면 된다.

 

SQL은 다음과 같이 완성됐다.

SELECT 
         IIf(Right(봉사내역.봉사내용,2)="멘토","청소년도우미","어르신도우미") AS 구분, 
         Count(봉사내역.봉사코드) AS 봉사건수, 
         Sum(봉사내역.시수) AS 봉사시수
FROM 
         봉사내역
GROUP BY 
         IIf(Right(봉사내역.봉사내용,2)="멘토","청소년도우미","어르신도우미");
 

 

 

 

 

 

<결과 화면>

 

반응형