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
운영게시판
최근게시물
MS-SQL Q&A 5650 게시물 읽기
No. 5650
CTE 2개 선언후 페이징 처리시 문제점... 도와주세요
작성자
오성범(lsblue12)
작성일
2010-05-10 18:18
조회수
6,158

WITH A_CTE AS (

   SELECT

     ROW_NUMBER() OVER ( ~~ )  AS ordNum,*

   FROM ( 

            SELECT ROW_NUMBER() OVER (~~) AS ordNum , 컬럼들 FROM a_table

            )

   )

,B_CTE AS (

   SELECT TOP 100 PERCENT 

      ROW_NUMBER() OVER ( ~~ ) AS rownum, t.*

   FROM (

      SELECT 컬럼들 FROM A_CTE cte1 

      LEFT  OUTER JOIN A_CTE cte2

      ON 조인 조건들..

               ) 

)

이런식으로 2개의 CTE를 선언한후 (조인을 비롯한 복잡한것은 생략하고 구조만 작성했습니다.)

바로 밑에서

 

SELECT * FROM B_CTE 

WHERE rownum > 0

 

이렇게 가지고 오는건데요~

 

rownum 으로 잘라서 가져와야 하는데 rownum 이 들어가는 조건만 주면 결과가 아무것도 안나옵니다...

rownum 조건 빼고 그냥 SELECt * FROM B_CTE 만 해주면 결과가 18개 분명히 조회 되거든요... 1부터 18까지 rownum 컬럼에 분명 값 있구요..

 

웃긴건 rownum을 제외한 다른컬럼으로 조건을 주면 해당 조건에 맞게 잘 나온다는것입니다..

 

심지어 결과가 분명 나오는 조건문에 rownum이 들어간 조건을 OR로 이어서 붙여도 결과가 나오질 않습니다... 

 

원하는것은 단지 B_CTE 에서 나온 결과를 rownum으로 잘라서 가져오고 싶은것뿐인데... 이것때문에 하루를 소비했는데도 해결 못했어요 ㅜㅜ 

고수분들 도와주세요...  

[Top]
No.
제목
작성자
작성일
조회
5653150만건 데이타에서 검색 방법 [1]
음악소년
2010-05-12
6078
5652delete 한 부분을 다시 복구할려면? [1]
강한구
2010-05-11
6285
5651MSSQL-> DB2 DB로 마이그레이션 하는 방법???
허남인
2010-05-10
5832
5650CTE 2개 선언후 페이징 처리시 문제점... 도와주세요
오성범
2010-05-10
6158
5649서버 구조 변경없이 부하를 줄이려고 하는데 2가지 방법이 차이가 많이 날까요? [1]
변영석
2010-05-07
6070
5648convert(varchar, float) 변환 문제
김종화
2010-05-07
7612
5647도와주세요 백업 설정 ㅠㅠ
와니
2010-05-07
6199
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다