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
운영게시판
최근게시물
MySQL Q&A 30275 게시물 읽기
No. 30275
이런 결과를 얻으려면 어떻게 해야할까요?
작성자
나이스바디(kasf)
작성일
2012-06-25 21:29ⓒ
2012-06-25 21:31ⓜ
조회수
9,522
필드1 필드2
2012-06-25 5

필드1의 타입은 datetime이고 필드2의 타입은 int입니다. 위 데이터가 있을때, 원하는 결과는 아래처럼 필드2의 값만큼 날짜가 증가된 가상의 데이터를 얻고 싶습니다.

다시말해 필드1은 시작날짜가 되고, 필드2는 시작날짜부터 몇일간이란 뜻입니다. 어떻게 처리하면 될까요?

필드1
2012-06-25
2012-06-26
2012-06-27
2012-06-28
2012-06-29
이 글에 대한 댓글이 총 1건 있습니다.

해당 작업을 수행하는 프로시저나 임시 테이블을 추가하여 작업할 수는 있습니다. 일단 간략하게 임시 테이블을 추가하여 아래와 같이 작업할 수 있습니다.

샘플 및 실행 : sqlfiddle.com/#!2/1109b/7

 

 

-- DDL
mysql> CREATE TABLE DUR_SET ( d int );
mysql> INSERT INTO DUR_SET VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
mysql> CREATE TABLE SAMPLE ( dt date, dur int );
mysql> INSERT INTO SAMPLE VALUES ( '2012-06-25', 5 );

-- DML
mysql> SELECT DATE_FORMAT(ADDDATE(dt, INTERVAL d DAY),'%Y-%m-%d')  FROM DUR_SET, SAMPLE  WHERE d < dur;

+------------+
| dt         |
+------------+
| 2012-06-25 |
| 2012-06-26 |
| 2012-06-27 |
| 2012-06-28 |
| 2012-06-29 |
+------------+
5 rows in set (0.00 sec)
 

 

박현우(lqez)님이 2012-06-26 15:09에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30278쿼리질문입니다. [2]
쿼리질문
2012-07-01
7956
30277쿼리 질문좀 드려요 ㅠ [2]
우동
2012-06-30
8451
30276mysql 질문 올려 드립니다. [1]
김문환
2012-06-28
8347
30275이런 결과를 얻으려면 어떻게 해야할까요? [1]
나이스바디
2012-06-25
9522
30274mysql 모니터링 [5]
와닥
2012-06-25
11097
30273테이블 업데이트 되고난후 느려짐.. [1]
권태곰
2012-06-21
9650
30272sql로 loop처럼 처리하기 가능한지요 [1]
서정탁
2012-06-21
9354
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다