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
운영게시판
최근게시물
Informix Q&A 3437 게시물 읽기
No. 3437
인포믹스 컨버젼 PARTITION BY
작성자
급해요
작성일
2015-07-17 16:49:30ⓒ
2015-07-17 17:27:30ⓜ
조회수
2,153

Row_Number() OVER (PARTITION BY A.taxno ORDER BY B.itemcode) as taxseq

 

이 문장 인포믹스로 바꿔야 하는데

죽겠네요ㅠㅠ

 

 

PARTITION BY 없으면 어떻게 하겠는데....아...

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

인포믹스 12.10 아래 버전이라면  한쿼리에서 처리하는 것은 어렵습니다. (11.50, 11.70 불가)

시퀀스, 임시테이블을 사용하시거나 어플리케이션으로 처리하는 방법이 있을 것 같네요.

정상규(pajama)님이 2015-07-17 19:05:55에 작성한 댓글입니다.
아래같이 절차가 필요할 듯합니다.. 오라클의 scott.emp 테이블로 테스트 해본 내용입니다.
 
> select ename,sal,deptno from scott.emp;
 
ENAME                       SAL     DEPTNO
-------------------- ---------- ----------
SMITH                       800         20
ALLEN                      1600         30
WARD                       1250         30
JONES                      2975         20
MARTIN                     1250         30
BLAKE                      2850         30
CLARK                      2450         10
SCOTT                      3000         20
KING                       5000         10
TURNER                     1500         30
ADAMS                      1100         20
JAMES                       950         30
FORD                       3000         20
MILLER                     1300         10
 
> select ename, sal, deptno, row_number() over (partition by deptno order by sal) as rn from scott.emp;
 
ENAME                       SAL     DEPTNO         RN
-------------------- ---------- ---------- ----------
MILLER                     1300         10          1
CLARK                      2450         10          2
KING                       5000         10          3
SMITH                       800         20          1
ADAMS                      1100         20          2
JONES                      2975         20          3
SCOTT                      3000         20          4
FORD                       3000         20          5
JAMES                       950         30          1
MARTIN                     1250         30          2
WARD                       1250         30          3
TURNER                     1500         30          4
ALLEN                      1600         30          5
BLAKE                      2850         30          6
인포믹스도 동일한 데이터로 아래와 같이 해봤습니다.
partition by절의 필드별로 임시테이블을 만들고 sequence를 사용했습니다.
 
select ename, sal, deptno from emp where deptno=10 order by sal into temp temp1a;
create sequence myseq;
select *, myseq.nextval from temp1a into temp temp1b;
drop sequence myseq;
 
select ename, sal, deptno from emp where deptno=20 order by sal into temp temp2a;
create sequence myseq;
select *, myseq.nextval from temp2a into temp temp2b;
drop sequence myseq;
 
select ename, sal, deptno from emp where deptno=30 order by sal into temp temp3a;
create sequence myseq;
select *, myseq.nextval from temp3a into temp temp3b;
drop sequence myseq;
 
각 temp테이블을 union all로 조회해보았습니다.
 
select * from temp1b
union all
select * from temp2b
union all
select * from temp3b
 
 
ename              sal      deptno              nextval
 
MILLER            1300          10                    1
CLARK             2450          10                    2
KING              5000          10                    3
SMITH              800          20                    1
ADAMS             1100          20                    2
JONES             2975          20                    3
FORD              3000          20                    4
SCOTT             3000          20                    5
JAMES              950          30                    1
WARD              1250          30                    2
MARTIN            1250          30                    3
TURNER            1500          30                    4
ALLEN             1600          30                    5
BLAKE             2850          30                    6
 
 
좀 무식한 방법이긴 합니다만 참고가 되셨으면 좋겠네요.

 

정상규(pajama)님이 2015-07-17 22:15:27에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3440Update가 안 됩니다. [2]
에모토
2016-03-28
1030
3439Informix 프로시저 트랜잭션 관련 문의드립니다. [3]
소유니
2015-08-26
2040
3438인포믹스 사용자 계정 추가방법좀 알려주시면 감사하겠습니다. [1]
계정
2015-08-03
1837
3437인포믹스 컨버젼 PARTITION BY [2]
급해요
2015-07-17
2153
3436숫자로 된 데이터를 통화단위로 형변환. [1]
급해
2015-07-15
1991
3435인포믹스 로깅모드 변경관련 질문드립니다. [2]
유민상
2015-04-27
2166
3434인포믹스 평가판 다운로드 [2]
유민상
2015-04-24
2341
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2017 DSN, All rights reserved.
작업시간: 0.064초, 이곳 서비스는
	PostgreSQL v9.6.3으로 자료를 관리합니다