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
운영게시판
최근게시물
DB2 Q&A 964 게시물 읽기
No. 964
오라클 connectn by 를 DB2로 수정하는데 잘 안돼여
작성자
일이시스
작성일
2006-04-06 18:10
조회수
5,479

SELECT COUNT(USR_ID) FROM KM_USERINFO WHERE USR_STATUS != 3 AND USR_CLASS != 2 AND
USR_DEPTCODE IN (SELECT DEPT_CODE FROM KM_DEPTINFO WHERE DEPT_PARENT != '-1'
CONNECT BY PRIOR DEPT_CODE = DEPT_PARENT START WITH DEPT_CODE = ?)

 

이게 오라클 커리문 입니다. 이걸 제 나름대로 DB2로 수정햇는데 잘 안돼여

SELECT COUNT(USR_ID) FROM KM_USERINFO WHERE USR_STATUS != 3 AND USR_CLASS != 2 AND
USR_DEPTCODE IN (with dept(dept_code,dept_parent) as
(
select root.dept_code,root.dept_parent
from km_deptinfo root
where dept_code = '00011'
union all
select sub.dept_code,sub.dept_parent
from km_deptinfo sub, dept super
where sub.DEPT_PARENT = super.dept_code
)
select dept_code from dept where dept_parent !='-1')

 

요렇게 햇는데 .ㅠㅠ

이걸 전체를 뷰로 만들어야 하나여???

 

이제 남은 방법은 뷰 뿐인데 ...ㅠㅠ

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

이렇게 해보세요..

with dept(dept_code,dept_parent) as
(
select root.dept_code,root.dept_parent
from km_deptinfo root
where dept_code = '00011'
union all
select sub.dept_code,sub.dept_parent
from km_deptinfo sub, dept super
where sub.DEPT_PARENT = super.dept_code
)

SELECT COUNT(USR_ID)
FROM KM_USERINFO
WHERE USR_STATUS != 3 AND USR_CLASS != 2 AND
USR_DEPTCODE IN (select dept_code
   from dept
   where dept_parent !='-1');

brahman님이 2006-04-07 02:36에 작성한 댓글입니다. Edit

이게 맞나요?

 

with dept(DEPT_CODE, DEPT_PARENT) as (values
('0001','0000'),
('0011','0001'),
('0012','0001'),
('0111','0011'),
('0112','0011'),
('0121','0012'),
('0122','0012')),
user (USER_DEPT_CODE,USER_ID) as (values
('0011','A'),
('0011','B'),
('0012','C'),
('0012','D'),
('0012','E'),
('0111','F'),
('0111','G'),
('0112','H'),
('0112','I'),
('0121','J'),
('0121','K'),
('0121','L'),
('0122','M'),
('0122','L'),
('0122','O')),

r_dept(dept_code,dept_parent) as
(
select dept_code, dept_parent
from dept
where dept_code = '0001'
union all
select sub.dept_code,sub.dept_parent
from dept sub, r_dept super
where sub.dept_parent = super.dept_code
)

--select * from r_dept;
SELECT user_id,COUNT(*)
  FROM user 
 WHERE USER_DEPT_CODE in (select distinct dept_code from r_dept)
group by user_id;

도님이 2006-04-07 09:57에 작성한 댓글입니다. Edit

감사합니다...ㅠㅠ 디뎌 됩니다..ㅠㅠ

 

근데 오라클의 connect by 를 db2 에서 함수로 만들수 잇나여??

 

만드는게 가능한지여?

일이시스님이 2006-04-07 10:07에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
967[질문] with문으로 만드는 테이블과 view테이블의 차이점이 뭔가요? [2]
이준식
2006-04-11
6790
966이것 한번봐주세여 [3]
일이시스
2006-04-10
5145
965DB2 에 프로젝트를 투입하려고 하는데요 [2]
김자연
2006-04-08
5877
964오라클 connectn by 를 DB2로 수정하는데 잘 안돼여 [3]
일이시스
2006-04-06
5479
962LEFT 조인 기호 [3]
하늘
2006-04-05
7018
961[질문] 조회결과 갯수 알아낼때.. [2]
이준식
2006-04-04
4974
960AIX용 DB2 다운로드 및 구하는곳 [2]
나현길
2006-04-03
5584
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.030초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다