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 1304 게시물 읽기
No. 1304
두개의 테이블에서 합계내기(통계)
작성자
뚜웅
작성일
2004-04-29 17:46ⓒ
2004-04-29 17:48ⓜ
조회수
4,633

요금을 통계내는 쿼리문을 만들고있습니다.

많은 도움 주세요

테이블 구조를 설명해드리겠습니다.

charge1 ,charge2 테이블이있습니다.

두개의 테이블은 요금내역 테이블입니다.

연도별 분기별로 전체 요금을 통계내려고합니다.

그래서 먼저 charge1테이블에서 연도별 분기별로 요금을 통계냈습니다.

쿼리문입니다.

charge1테이블 조회:

select year(wdate)as year,
isnull(case datepart(qq,wdate) when 1 then cast(sum(amount) as int) end,0) as '1/4',
isnull(case datepart(qq,wdate) when 2 then cast(sum(amount) as int) end,0) as '2/4',
isnull(case datepart(qq,wdate) when 3 then cast(sum(amount) as int) end,0) as '3/4',
isnull(case datepart(qq,wdate) when 4 then cast(sum(amount) as int) end,0) as '4/4',
cast(sum(amount)as int)as total
from charge1

group by year(wdate),datepart(qq,wdate) order by year desc

☆ Field - wdate :결내일자

- amount :결재금액

쿼리 실행결과

year 1/4 2/4 3/4 4/4 total
2003 0 0 2000 0 2000
2004 200 0 0 0 200


charge2테이블 조회:

select year(wdate)as year,
isnull(case datepart(qq,wdate) when 1 then cast(sum(amount) as int) end,0) as '1/4',
isnull(case datepart(qq,wdate) when 2 then cast(sum(amount) as int) end,0) as '2/4',
isnull(case datepart(qq,wdate) when 3 then cast(sum(amount) as int) end,0) as '3/4',
isnull(case datepart(qq,wdate) when 4 then cast(sum(amount) as int) end,0) as '4/4',
cast(sum(amount)as int) as total
from charge2
group by year(wdate),datepart(qq,wdate) order by year desc

쿼리실행결과

year 1/4 2/4 3/4 4/4 total
2003 0 0 10000 0 10000
2004 5000 0 0 5000


이렇게 나오는데요

이결과물 2개를 합계를 내서

year 1/4 2/4 3/4 4/4 total
2003 0 0 12000 0 12000
2004 200 5000 0 0 5200


이런 결과물을 얻고싶습니다

어떻게 하면 될까요?

조언좀 부탁드립니다.

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

테이블이구조가 거의 같군요..

UNION, GROUP BY를 사용하면 될 거 같은데요..

 

두 테이블을 UNION ALL로 연결한 후에

이걸 기반으로 같은 문장을 수행하면 될 거 같은데요..

각각의 문장에서 GROUP BY를 하는 것이 아니고,

먼저 UNION ALL로 하나의 테이블 처럼 만든 후에

전체를 GROUP BY 하고 SUM을 내면 된다는 거죠..

거의 90%이상은 작업해 놓은신듯 하군요.. ^^

SQL님이 2004-04-29 18:50에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1307[질의] 커넥션이...? [1]
나그네
2004-05-04
2946
1306[질문]MS-SQL 쿼리Tool [2]
끙이
2004-05-02
4132
1305BOL을 어디서 볼 수 있나요? [1]
MySQL
2004-04-30
2504
1304두개의 테이블에서 합계내기(통계) [1]
뚜웅
2004-04-29
4633
1303저한테만 어려운거 ㅡㅜ [1]
초보
2004-04-27
2479
1302왕초보)칼럼에 primary 키하고 foreign key를 주고 싶습니다. [2]
정인호
2004-04-27
3100
1301분기별로 통계내기 쿼리 질문요 [1]
석훈
2004-04-25
4578
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다