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 1794 게시물 읽기
No. 1794
UNION ALL 사용시 FETCH FIRST 1 ROWS ONLY 사용 가능 여부
작성자
김성훈(yescubik)
작성일
2009-01-08 12:49
조회수
10,148

UNION ALL 사용시  FETCH FIRST 1 ROWS ONLY 사용 가능 여부가 궁금합니다.

아래 쿼리에서

    WITH n(level, PA_PL_ID, CH_PL_ID ) AS

               (SELECT 1, PA_PL_ID, CH_PL_ID

                  FROM EBOM.BOM

                 WHERE CH_PL_ID = 1503 and PA_PL_ID <> 1503 

                 FETCH FIRST 1 ROWS ONLY       -> 이부분에 사용이 불가능한가요???    

                 UNION ALL

                SELECT n.level + 1, nplus1.PA_PL_ID, nplus1.CH_PL_ID

                  FROM EBOM.BOM as nplus1, n

                 WHERE n.PA_PL_ID = nplus1.CH_PL_ID  and nplus1.PA_PL_ID <> n.CH_PL_ID )  //

     SELECT level, PA_PL_ID, CH_PL_ID FROM n; 


답변좀 부탁 드립니다. ^^;;

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

사용할 수 없는것으로 압니다. 

이렇게 하면 될것같기는 합니다만..


1. temporary table 생성 
2. temporary table 에 fetch first 1 rows data insert 
3. common 절에서 temporary table 의 한 로우를 조회해서 recursive 
조는냥이님이 2009-01-08 13:29에 작성한 댓글입니다. Edit

조는냥이님 이번에도 좋은 댓글 감사합니다. ^^;;
가상테이블은 여러문제로 사용을 할 수 없을것 같아..
ROW_NUMBER()를 줘서 1인것들만 다 뽑아와서 다시 소스상에서 FOR와 IF를 써서
해결했습니다. 
DB2 버전이 7버전이라 제약사항이 너무 많네요 ㅠ.ㅠ

김성훈(yescubik)님이 2009-01-09 11:30에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1797like문과 유사한 검색방법을 알고 싶어요.... [4]
박재홍
2009-01-13
9544
1796[롤백관련] sql 실행시 rollback시키는 방법 [3]
왕초보
2009-01-09
8812
1795DB2 에서 오라클 연결.. [2]
왕모름
2009-01-09
9579
1794UNION ALL 사용시 FETCH FIRST 1 ROWS ONLY 사용 가능 여부 [2]
김성훈
2009-01-08
10148
1793서브쿼리시 에러.. [2]
전홍준
2009-01-07
10557
1792DB2 Connect by 구문~ [2]
김성훈
2009-01-07
20135
1791sqlcode 질문입니다
김한중
2009-01-06
9184
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.073초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다