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 4229 게시물 읽기
No. 4229
차액을 표현하고 싶습니다.
작성자
질문요
작성일
2008-05-27 20:01ⓒ
2008-05-27 20:16ⓜ
조회수
4,313

YYYYMM AMT DIFF
2008-01 594080 -594080
2008-02 735061 -140981
2008-03 1392355 -657294
2008-04 1338021 54334
2008-05 1264786 73235
2008-06 1174275 90511

MS SQL Serser 2005입니다.

현재 쿼리결과는 YYYYMM과 AMT만 나옵니다.
여기에 '이전월-당월'인 DIFF를 추가할려고 합니다.

즉, 2008-06이라면 1264786 - 1174275인 90511이 나오는거죠.

좋은 쿼리 없을까요?? ^^

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

create table test(YYYYMM char(7),AMT int,DIFF int)

insert test

(YYYYMM,AMT)

select '2008-01',594080 union all

select '2008-02',735061 union all

select '2008-03',1392355 union all

select '2008-04',1338021 union all

select '2008-05',1264786 union all

select '2008-06',1174275

 

-------------------------------------------------------

select a.YYYYMM,a.AMT,ISNULL(b.AMT,0)-a.AMT DIFF

 from test a left outer join test b

   on a.YYYYMM = convert(char(7),dateadd(mm,1,b.YYYYMM+'-01'),120)

 

/*

YYYYMM  AMT         DIFF

------- ----------- -----------

2008-01 594080      -594080

2008-02 735061      -140981

2008-03 1392355     -657294

2008-04 1338021     54334

2008-05 1264786     73235

2008-06 1174275     90511

 

(6 적용됨)

*/

최석준(beatchoi)님이 2008-05-28 10:09에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4233Oracle과 LinkedServer연결시 에러 [3]
막무가내
2008-05-29
4427
4232varchar/nvarchar 검색시 like와 padindex
김영수
2008-05-29
3934
4231DB내 테이블의 생성날짜를 알수있나요? [1]
질문
2008-05-29
3677
4229차액을 표현하고 싶습니다. [1]
질문요
2008-05-27
4313
4228서브쿼리에서 찾아올 때는 풀 스캔, 키 값 범위 주면 index 를 타는 문제
김기운
2008-05-27
4243
4227같은 table내 데이타를 복사해 새로운 데이타로 만드는 query는? [4]
김기완
2008-05-27
4616
4226가변형에서 ' 의사용법 에 대해서 알고 싶습니다. [1]
이돈규
2008-05-26
4309
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다