직원 실적조회 화면을 만들려합니다. 0 1 897

by 김성용 [PL/SQL] 실적조회 [2017.07.21 11:11:24]


안녕하세요.

상담원 실적조회 화면을 만들려고 하는데...어떤식으로 구성을 해야하는지 감을 잡지 못해 이렇게 질문 글을 올리게 되었습니다.

우선 제가 구상하고있는 구조는 직원별 업무 실적을 각 각 카운트 하여 화면에 보여주고 싶습니다.

 

예를 들어 직원 A, B, C이 존재하고,

업무로는 핸드폰 판매(테이블 ; 핸드폰), 가구 판매(테이블 : 가구) 로 나눠지며

핸드폰 판매는 skt, kt, lg

가구 판매는 식탁, 의자, 화장대, 옷장

이렇게 나눠진다고 했을때..

제가 보여지고 싶은 화면은 아래 표와 같습니다.

(핸드폰은 "핸", 가구는 "가"로 표시할께요..^^;;)

 

직원 핸합계 가합계 핸(skt) 핸(kt) 핸(lg) 가(식탁) 가(의자) 가(화장대) 가(옷장)
A 6 13 1 2 3 2 3 5 3
B 2 6 1 0 1 2 2 1 1
C 10 15 3 3 4 5 5 5 0

위의 표와 같이 A란 직원이 핸드폰을 skt는 1개, kt는 2, lg는 3개를 판매했다고 하면.. 핸드폰 합계에 sum을 하여 보여주고 싶습니다.

아직 쿼리를 짜는데 경험이 많이 부족해서인지..많이 부족합니다.ㅠㅠ

많은 도움 부탁 드리겠습니다~

그럼 즐거운 금요일 되세요~ :)

by 마농 [2017.07.21 14:45:54]
WITH sale_handphone AS
(
SELECT 'A' id, 'skt' cd FROM dual
UNION ALL SELECT 'A', 'kt' FROM dual
UNION ALL SELECT 'A', 'lg' FROM dual
UNION ALL SELECT 'B', 'kt' FROM dual
UNION ALL SELECT 'B', 'lg' FROM dual
)
, sale_furniture AS
(
SELECT 'A' id, '화장대' cd FROM dual
UNION ALL SELECT 'A', '식탁' FROM dual
UNION ALL SELECT 'A', '의자' FROM dual
UNION ALL SELECT 'A', '옷장' FROM dual
)
SELECT id
     , COUNT(DECODE(gb, 1, 1)) 핸합계
     , COUNT(DECODE(gb, 2, 1)) 가합계
     , COUNT(DECODE(cd, 'skt'    , 1)) "핸(skt)"
     , COUNT(DECODE(cd, 'kt'     , 1)) "핸(kt)"
     , COUNT(DECODE(cd, 'lg'     , 1)) "핸(lg)"
     , COUNT(DECODE(cd, '식탁'   , 1)) "가(식탁)"
     , COUNT(DECODE(cd, '의자'   , 1)) "가(의자)"
     , COUNT(DECODE(cd, '화장대' , 1)) "가(화장대)"
     , COUNT(DECODE(cd, '옷장'   , 1)) "가(옷장)"
  FROM (SELECT 1 gb, id, cd FROM sale_handphone
         UNION ALL
        SELECT 2 gb, id, cd FROM sale_furniture
        )
 GROUP BY id
 ORDER BY id
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입