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 37241 게시물 읽기
No. 37241
종료일자가 없을시 특정일자로 select하는 방법알려주세요^^;;;
작성자
궁금이
작성일
2010-01-20 17:56ⓒ
2010-01-20 17:57ⓜ
조회수
2,516

저의 생각으로는 LOOP를 돌리는 방법밖에 생각나지 않아 고수님들께 조언을 구합니다.

예를들어 TableA와 TableB라는 두개의 테이블이 있습니다.

TableA에는 부서코드, 발령시작일자, 사원번호가 있고
TableB에는 부서코드, 발령시작일자,  발령종료일자, 부서명 가 있다고 가정했을시

TableA                                                                               TableB
부서코드  기준일자   사원명                 부서코드   발령시작일자    발령종료일자    부서명
   111       20091130  홍길동                    111           20091125             NULL          총무부   
                                                              111           20091129            NULL           인사부
                                                              111          20091215            NULL           홍보부

로 구성되어있다고 했을시
TableA의 홍길동사원이 기준일자가 TableB의 발령시작일자로 봤을시에는 
인사부에 20091129일에 발령을 받았기 때문에 20091130기준으로 봤을시에는 
인사부가 출력되는 쿼리를  만들려고 하는데 쉽지가 않네요

참고로 발령종료일자는 null이라 입력할 수 없습니다.

프로그램이나 loop로 돌리는거 말고

한방쿼리로 가능한 답변 올려주시면 감사하겠습니다.

고수님들의 조언 기다리고 있겠습니다.^^

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

부서코드가 사번아닌가요. '111'  이 여러부서라서..

부서코드를 사번으로 한다면

 

with
tbl_a as (
select '111' no ,'20091130' dat ,'홍길동' name from dual)
,
tbl_b as (
select '111' no ,'20091125' dat1 ,'' dat2 ,'총무부' dept from dual union all
select '111' no ,'20091129' dat1 ,'' dat2 ,'인사부' dept from dual union all
select '111' no ,'20091215' dat1 ,'' dat2 ,'홍보부' dept from dual
)

select  no
       ,dat
       ,name
       ,(select  dept
           from tbl_b b
          where  no   = a.no
            and  dat1 =
                (select  max(dat1)
                   from  tbl_b
                  where  no    = b.no
                    and  dat1 <= a.dat)
        ) dept           
  from  tbl_a a

박진복(pjb708)님이 2010-01-21 11:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
37244각각의 연결고리에 의한 데이터를 추출 방안을 문의드립니다. [2]
김대훈
2010-01-21
2856
37243Oracle + 아파치 + php 설치 아르바이트 구합니다.
최진성
2010-01-21
2553
37242SQL 과 ORACLE 의 DB LINK
질주본능
2010-01-20
2706
37241종료일자가 없을시 특정일자로 select하는 방법알려주세요^^;;; [1]
궁금이
2010-01-20
2516
37240건수가 적은 테이블의 Full Scan 속도에 관하여... [4]
아바타
2010-01-20
3531
37239질문 요청 합니다 . [1]
금현
2010-01-20
2626
37237쿼리질문입니다. [1]
개구쟁이
2010-01-20
2886
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다