SQL Server 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 활용예제 : 구분별 부서 통계
글번호: 62
작성자: 레드플러스
작성일: 2009/02/04 오후 2:46:00
조회수: 8700
파일: 다운로드 (다운로드 권한이 없습니다.)
Use tempdb
Go

-- create table
-- Drop Table Cars
Create Table Cars
(
    Num Int Identity(1, 1) Primary Key,
    Dept VarChar(10), -- 부서
    Div Int, -- 구분(1:수리신청,2:예방검사,3:정기검사)
    Pay Int -- 금액        
)
Go

-- insert sample data
Insert Cars Values('총무', 1, 500)
Go
Insert Cars Values('총무', 1, 100)
Go
Insert Cars Values('총무', 2, 300)
Go
Insert Cars Values('총무', 3, 200)
Go
Insert Cars Values('생산', 1, 700)
Go
Insert Cars Values('생산', 3, 400)
Go
Insert Cars Values('생산', 3, 150)
Go
Insert Cars Values('판매', 1, 400)
Go
Insert Cars Values('판매', 2, 600)
Go
Insert Cars Values('판매', 2, 50)
Go

-- respective output data
--부서       수리          금액      정기검사      금액     예방검사      금액
------------ ----------- ----------- ----------- ----------- ----------- -----------
--생산         1           700         2           550         0           NULL
--총무         2           600         1           200         1           300
--판매         1           400         0           NULL        2           650

Select * From Cars
Go

Select Dept, COUNT(Div) As 개수, SUM(Pay) As 금액
From Cars
Group By Dept
Go

Select C.Dept As '부서',
    (Select Count(*) From Cars C1 Where C1.Dept = C.Dept And C1.Div = 1) AS '수리',
    (Select SUM(Pay) From Cars C1 Where C1.Dept = C.Dept And C1.Div = 1) AS '금액',
    (Select Count(*) From Cars C1 Where C1.Dept = C.Dept And C1.Div = 3) AS '정기검사',
    (Select SUM(Pay) From Cars C1 Where C1.Dept = C.Dept And C1.Div = 3) AS '금액',
    (Select Count(*) From Cars C1 Where C1.Dept = C.Dept And C1.Div = 2) AS '예방검사',
    (Select SUM(Pay) From Cars C1 Where C1.Dept = C.Dept And C1.Div = 2) AS '금액',
    (Select SUM(Pay) From Cars C1 Where C1.Dept = C.Dept) As '전체합계'    
From Cars C
Group By C.Dept
Order By C.Dept Asc
Go
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 SQL Server에서 반드시 알아야 할 사항 10가지 - 레드플러스 2013-11-05 7632
현재글 활용예제 : 구분별 부서 통계 다운로드 권한이 없습니다. 레드플러스 2009-02-04 8700
다음글 UDL 파일 설정법 - 레드플러스 2008-06-24 9217
 
손님 사용자 Anonymous (손님)
로그인 Home