database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 39612 게시물 읽기
No. 39612
통계성 쿼리 2번째 질문
작성자
쿼리 초보
작성일
2012-08-30 14:07ⓒ
2012-08-30 14:36ⓜ
조회수
4,249

안녕하세요 얼마 전에 많은 도움을 받은 사람 입니다. 이번에도 저번 질문과 비슷한 쿼리 인데요..

 

아무리 봐도 응용을 잘 못하겠어서요..ㅠㅠ

 

구분       계                 상위부서1                                상위부서2

                            소계     지각    결석   조퇴           소계 지각 결석 조퇴

------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------

진    소계

        승인

행    기각

------------------------------------------------------------------------------------------------

종            결

 

이런식의 표인데요 상위부서 테이블 a, 진행 테이블b, 종결과 지각,결석, 조퇴 테이블 c 입니다..많은 조언 부탁 드릴께요 ㅠㅠ

이 글에 대한 댓글이 총 3건 있습니다.

질문이 쫌......ㅡ,.ㅡa......

- 각 테이블의 정의와 샘플 내역

- 각 테이블간의 관계, PK 등

- 샘플 내역에 대한 결과자료 및 결과자료에 대한 설명 등등...

마농(manon94)님이 2012-08-31 14:16에 작성한 댓글입니다.

아..죄송해요 급한맘에 그냥 두서없이 질문을 해버렸네요 ㅠㅠ

SELECT

SUM(CASE WHEN GUBUN = 'A' AND A.SUSP_SECT = '1' THEN 1 ELSE 0 END) 지각_상위부서1

, SUM(CASE WHEN GUBUN = 'A' AND A.SUSP_SECT = '2' THEN 1 ELSE 0 END) 결석_상위부서1

, SUM(CASE WHEN GUBUN = 'A' AND A.SUSP_SECT = '3' THEN 1 ELSE 0 END) 조퇴_상위부서1

, SUM(CASE WHEN GUBUN = 'B' AND A,SUSP_SECT = '1' THEN 1 ELSE 0 END) 지각_상위부서1

, SUM(CASE WHEN GUBUN = 'B' AND A.SUSP_SECT = '2' THEN 1 ELSE 0 END) 결석_상위부서2

, SUM(CASE WHEN GUBUN = 'B' AND A.SUSP_SECT = '3' THEN 1 ELSE 0 END) 조퇴_상위부서2

FROM 근태 A

, (승인,기각) B

( SELECT 'A' AS GUBUN

, 부서ID AS 부서ID

FROM 부서테이블

WHERE 부서ID = '상위부서1'

UNION ALL

SELECT 'B' AS GUBUN

, 부서ID AS 부서ID

FROM 부서테이블

WHERE 부서ID = '상위부서2'

) C

WHERE A.인물ID = B.인물ID

AND A.부서ID = C.부서ID

이런식으로 작성 했는데요..A테이블은 근태테이블로서 지각 결석 등이 있고 PK는인물ID, B테이블은 승인, 기각 컬럼이 있고 PK는 인물 ID 입니다. 그리고 부서테이블은 여러 상위부서가 있고 그밑에 세부적으로 하위 부서가 있습니다. PK 는 부서 ID 입니다.

상위부서1, 2 별로 인물들이 지각, 결석,조퇴 한 횟수의 승인이 몇번 기각이 몇번 종결이 몇번인지 나타내는 표 입니다.

너무 두서 없이 질문하고 복잡하게 댓글 다네요..ㅠ 죄송합니다..ㅠㅠ

쿼리 초보님이 2012-08-31 15:45에 작성한 댓글입니다. Edit

부서테이블의 구조에 대해 더 자세히 설명 바랍니다.

상위코드, 하위코드를 가진 달랑 2단계 구조인지?

아니면 하위부서의 깊이가 더 깊어질 수 있는 자기 참조 구조인가요?

예로 드신 '상위부서1', '상위부서2' 는 어떤 자료인가요?

최상위 코드인지? 아니면 특정 코드만 한정시킨 조건인지?

PK 가 달랑 인물ID 뿐일리가 없을텐데요?

근태라면 날짜가 있을 것이고.

승인, 기각이 근태와 연결되는 구조라면 날짜와도 연결되어야 할텐데요?

마농(manon94)님이 2012-08-31 19:46에 작성한 댓글입니다.
이 댓글은 2012-08-31 19:50에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
39615오라클 접속오류 확인 부탁드립니다. 고수님들
구은호
2012-08-31
3928
39614오라클 데이터를 SPOOL SELECT를 안쓰고 CSV로 빠르게 만들수 있나요 [1]
select
2012-08-31
5130
39613어떤 쿼리가 나은건지 봐 주세요~ [2]
마루아라
2012-08-31
4270
39612통계성 쿼리 2번째 질문 [3]
쿼리 초보
2012-08-30
4249
39610프로시저 속도 문제.. [3]
햇살한조각
2012-08-30
4550
39609sum() over () 질문드립니다. [1]
정성태
2012-08-29
4090
39608통계성 쿼리 질문 드립니다. [4]
쿼리 초보
2012-08-28
4587
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다