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 5444 게시물 읽기
No. 5444
월별 데이타 조인
작성자
방문손님
작성일
2009-11-10 13:50
조회수
6,175

OS : Microsoft Windows 2000 Server / Advanced Server
SQL : Microsoft SQL Server 2000 Standard / Enterprise Edition
 

2005월 5월에서 2005년 10월까지의 데이타를 가지고
그래프를 그립니다.

그런데 데이타가 5월과 7월밖에 없어서
그래프에 5월 7월만 나오고 죽 연결이 되네요;;
없는 달에는 0이 나오게 해서 죽 연결할 수는 없나요
월별 데이타(테이블을 만들지 않고)를 가지고 outer 조인을
하면 된다고 하는데 모르겠네요;;
아시는 분 계신가요

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

sql에서는 존재하지 않는 자료를 나오게 하는 방법은 없습니다.. 
결국 자료를 나오게 할려면 가상의 자료를 만들어 놓고 처리하셔야 합니다..
달력테이블, 월(1~12),일(1~31),등등을 미리 만들어 놓고 또는 시스템테이블을 이용해서 쿼리에 이용합니다.. 쿼리에서 그런 테이블이 없이 가상으로 만들고 하실수 있습니다.. temp 테이블, with 연산자를 이용해서 만들면서 하실수 있습니다. 하지만 한번 만들어놓으면 계속해서 사용하실수 있고 쿼리도 간단한데 매번 쿼리를 만드실때만다 복잡한 루틴을 느실 필요는 없을듯.. 그냥 만들고 하세요....

넘 주저리 사족이 많았네요...

예)

CREATE TABLE #test(d varchar(6))

DECLARE @start_date varchar(6)
DECLARE @end_date  varchar(6)

SET @start_date = '200811'
SET @end_date   = '200911'

WHILE @start_date <= @end_date
BEGIN
 
    INSERT #test VALUES(@start_date)
    SET @start_date = CONVERT(varchar(6), DATEADD(m,1,@start_date+'01'),112)

END

SELECT * FROM #test


#을 붙이면 임시 테이블이 됩니다... 

select *
   from ( select '2008' yy union all
             select '2009' yy ) a, 
          ( select '01' mm union all
             select '2009' yy )  

다른 예

   select a.yy+b.mm yymm
   from ( select '2008' yy union all
    select '2009' yy ) a,
    ( select '01' mm union all
   select '02' mm union all
   select '03' mm union all
   select '04' mm union all
   select '05' mm union all
   select '06' mm union all
   select '07' mm union all
   select '08' mm union all
   select '09' mm union all
   select '10' mm union all
   select '11' mm union all
   select '12' mm ) b 
   where a.yy+b.mm between '200805' and '200904'

여러 방법이 있을듯 하구요... 이런 작업을 매번하실 필요는 없을듯... 

이런게 나온 결과를 기준으로 아웃 조인 하시면 됩니다...

지나가다가님이 2009-11-11 22:26에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5447[질문] 쿼리문을 DB 필드에 저장 후 호출시 조건값이 안먹힙니다.
궁금이
2009-11-11
5579
5446[문의] 비밀번호 암호화 저장 문의 [1]
새벽소리
2009-11-11
6139
5445없는 월과 0 값 구하기
손님
2009-11-10
6051
5444월별 데이타 조인 [1]
방문손님
2009-11-10
6175
5443임시 데이타 넣기 질문입니다. [1]
방문손님
2009-11-10
5404
5442중복된 데이터값을 카운트할때 쿼리 질문입니다. [2]
박종학
2009-11-10
5862
5441Transaction log를 볼수 있는 무료툴이 있을까요?
청년재벌
2009-11-09
5371
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다