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 3885 게시물 읽기
No. 3885
월별 카운트를 하고 싶은데...
작성자
성용석(yongmirr)
작성일
2007-11-21 12:48
조회수
3,472

안녕하세요...


제가 월별 카운트를 하는 쿼리를 만들려고 하는데


내공이 딸려서 이렇게 도움을 구합니다...ㅜ.ㅜ



          Table Inv                             Table InvDetail


 InvID                                           InvID

 InvDate                                       Invo


이렇게 두개의 테이블이 있는데요,


두 테이블을 이용해서


Invo 의 갯수를 월별로 구하고 싶습니다.


Count(Invo) AS Jan, Count(Invo) AS Feb, Count(Invo) AS Mar,......Count(Invo) AS Dec, Total



이렇게 select를 하고 싶은데, 저한테 좀 어렵네요...


고수님들의 도움 부탁 드립니다.....(_ _)

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

 

create Table Inv (InvID   int,InvDate datetime)

create Table InvDetail(InvID int,Invo int)

 

 

insert Inv

select 1,'2007-01-01' union all

select 2,'2007-01-02' union all

select 3,'2007-02-01'

 

insert InvDetail

select 1,10 union all

select 1,15 union all

select 2,15 union all

select 3,7

 

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

select datepart(year,InvDate),

       sum(case datepart(m,InvDate) when 1 then Invo else 0 end) Jan,

       sum(case datepart(m,InvDate) when 2 then Invo else 0 end) Feb,

       sum(case datepart(m,InvDate) when 3 then Invo else 0 end) Mar,

       sum(case datepart(m,InvDate) when 4 then Invo else 0 end) Apr,

       sum(case datepart(m,InvDate) when 5 then Invo else 0 end) May,

       sum(case datepart(m,InvDate) when 6 then Invo else 0 end) Jun,

       sum(case datepart(m,InvDate) when 7 then Invo else 0 end) Jul,

       sum(case datepart(m,InvDate) when 8 then Invo else 0 end) Aug,

       sum(case datepart(m,InvDate) when 9 then Invo else 0 end) Sep,

       sum(case datepart(m,InvDate) when 10 then Invo else 0 end) Oct,

       sum(case datepart(m,InvDate) when 11 then Invo else 0 end) Nev,

       sum(case datepart(m,InvDate) when 12 then Invo else 0 end) Dec

  from Inv a join InvDetail b on a.InvID = b.InvID

group by datepart(year,InvDate)

 

 

/*

            Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nev  Dec

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

2007        40   7    0    0    0    0    0    0    0    0    0    0

 

(1 적용됨)

*/

최석준(beatchoi)님이 2007-11-21 17:04에 작성한 댓글입니다.

최석준님,

넘 감사합니다.

덕분에 도움이 많이 됬습니다.

추운데 감기 조심하시고 행복하세요...^^

성용석(yongmirr)님이 2007-11-21 20:21에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3888oracle 과 ms-sql data 동기화 방법 문의 [2]
추향순
2007-11-23
3516
3887log파일에 관해 질문 드립니다. [1]
한승후
2007-11-22
3443
3886sql2005에서 sa의 비밀번호 변경시 오류.. [2]
='ㅅ'=
2007-11-22
4147
3885월별 카운트를 하고 싶은데... [2]
성용석
2007-11-21
3472
3884[질문] update 문에서 실행시 로그 생성 방법 [1]
완전초보
2007-11-21
3000
3883[질문]하나의 레코드를 경우에따라 두개로 보여주는 방법??? [2]
이만실
2007-11-20
3351
3882DTS패키지를 이용하여 여러 테이블 전송 방법 [3]
곰둘
2007-11-19
3366
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다