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 3535 게시물 읽기
No. 3535
특정컬럼 계산
작성자
장수풍뎅이
작성일
2007-05-31 14:25ⓒ
2007-05-31 15:14ⓜ
조회수
2,255

각 필드의 타입
s_no varchar 14
fr_pg int 4
pg_cnt int 4

 

select s_no,  fr_pg, pg_cnt from i300
where l_no = '00055'
order by 3
이 있으면
s_no에 따른 s_no, fr_pg가 조회되면 아래와 같습니다.

s_no                   fr_pg        pg_cnt

20070010000001     0001    
20070010000002     0003
20070010000003     0005
가 있을때
pg_cnt에 0070010000002의 0003에서 20070010000001의 0001를 뺀 것을 넣으려고 합니다.
20070010000003의  0005에서 20070010000002의 0003을 뺀것을 넣고 계속 처리 되게 하려는데
아래와 같이 적용하면 pg_cnt에 frpg의 이후 레코드에서 이전레코드를 가감한 값이 아닌 엉뚱한 값이 나오네요.

select  a.sa_no,a.fr_pg,a.fr_pg- stuff(max(b.sa_no+convert(varchar(10),b.fr_pg)),1,14,'')  pg_cnt
  from idms300 a left join idms300 b on a.sa_no > b.sa_no
group by a.sa_no,a.fr_pg, a.pg_cnt
order by a.fr_pg

와 같이 하면 이상한 값이 나오는데요.  아마도 max때문인것 같은데요.  
참고로 제가 가지고 있는 테이블의 sa_no는 정렬되어 있지 않고 큰값과 작은값이 섞여 있습니다. 
테이블에 있는 sa_no가 정렬되어 있지 않을때는 어떻게 해줘야 하나요..

테이블의 sa_no데이터 sa_no가 정렬되어 있지 않을때는 sa_no를 빼고 아래와 같이 해도 데이터는 이상하게 나오는데요.

select  a.sa_no,a.fr_pg, a.fr_pg- (max(convert(varchar(10), b.fr_pg)))  pg_cnt
  from idms300 a left join idms300 b on a.sa_no > b.sa_no
group by a.sa_no,a.fr_pg, a.pg_cnt
order by a.fr_pg, a.sa_no

sa_no                  fr_pg      pg_cnt
20060011112222    18         - 981
20080010003345    24          -975
20070030022222    26          -973
 
stuff(max(b.sa_no+convert(varchar(10),b.fr_pg)),1,14,'') 부분이 문제인것 같은데요.
b.s_no+convert(varchar(10),b.fr_pg의 첫번째 문자부터 열네자를 삭제하고 삭제 지점에 ''를 삽입하여 만든 문자열을 반환하는 것으로 아는데요 .  
비슷한 쿼리 해보신분은 답변주시면 감사드리겠습니다.  


 

[Top]
No.
제목
작성자
작성일
조회
3538left join일때 sum처리
풍뎅이
2007-05-31
2980
3537MSSQL 리눅스에서 C++로 연결하기 도와주세요...
오찌
2007-05-31
3425
3536DBGuide.net에 SQL 서버 전문가 무료 컨설팅 코너가 생겼습니다.
DBGUIDE.NET
2007-05-31
3087
3535특정컬럼 계산
장수풍뎅이
2007-05-31
2255
3534로그 파일 사이즈 줄이기.. [2]
이덕희
2007-05-31
3442
3533조인관련 질문
초보
2007-05-30
2046
3532MSSQL2005 Express 응답속도 문제
개발자1호
2007-05-30
2569
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다