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
운영게시판
최근게시물
PostgreSQL Q&A 4169 게시물 읽기
No. 4169
Re: SQL 쿼리 좀 도와주세요..
작성자
정재익(advance)
작성일
2002-04-29 14:03
조회수
1,394

글쎄요. 질문하시는 의미가 정확하게 파악이 되지는 않지만 나름대로 이해한 바를 말씀 드리겠습니다.

 

일단 period 필드가 char(1) 이라는 자료형이어서는 무언가 곤란한점을 많이 겪을 것 같습니다. 만약 이것이 대여 기간이라면 애시당초 interval 자료형으로 하던지 아니면 아예 int 자료형으로 하시는 것이 옳을 것 같습니다. 만약 그것도 여의치 않다면 그냥 text 자료형으로 하시기 바랍니다. 그러는 것이 int 형등으로의 형변환이 편리합니다.

 

일단 자료형이 int 형이라고 가정하고 설명하겠습니다.

 

그럴 경우라면 다음과 같은 query 로 해결되지 않을까요?

 

select now()::date + (select period from loan_config where id='회원아이디');

 

이런정도의 query 면 해결될 것으로 생각됩니다. subquery 에서 돌아오는 값은 반드시 한개여야만 합니다. 그리고 subquery 는 (....) (괄호)로 묶어 줘야 합니다.

 

-- 이성준 님이 쓰신 글:

>> 도서관 프로그램인데요..

>> loan_config 테이블에는 period(char(1)) 이란 필드가 있습니다

>> 대여기간을 뜻합니다

>>

>> 오늘 책을 대여 한다면 반납예정일은

>> select 'now()::date'+'반납예정일'::interval 이 되겠지요

>>

>> 그런데 이렇게 하려면 loan_config에서 쿼리 한번 부르고 또 다시

>> 쿼리를 부르기 때문에 쿼리를 두번부르게 됩니다

>>

>> 이걸 한번에 하기 위해서는 어떻게 해야 할까요

>> select 'now()::date'+select period from loan_config'::interval

>> 직관적으로는 이런 식인데요

>> 함수나 서브쿼리쓰면 어떻게 해결할수 있을것 같은데

>> 구체적으로 쿼리문이 떠오르지 않습니다..

[Top]
No.
제목
작성자
작성일
조회
4173두 날짜 사이의 일수를 알수 있을까요? [2]
이성준
2002-04-30
1754
4170의도하는대로 안되네요 [1]
손재면
2002-04-29
1182
4177┕>Re: 의도하는대로 안되네요
김상기
2002-05-02 18:39:28
1140
4168nvl함수
구름
2002-04-29
1536
4172┕>Re: nvl함수
황치영
2002-04-30 00:27:03
1961
4167SQL 쿼리 좀 도와주세요..
이성준
2002-04-29
1229
4169┕>Re: SQL 쿼리 좀 도와주세요..
정재익
2002-04-29 14:03:36
1394
4171┕>Re: SQL 쿼리 좀 도와주세요..
황치영
2002-04-30 00:08:02
1260
4166plpython으로 구현한 full text index [1]
김상기
2002-04-25
1152
4164좀 도와주세요 부탁드립니다. [2]
김두희
2002-04-24
990
4162XLog 관련.
김남수
2002-04-23
1180
4163┕>Re: XLog 관련.
황치영
2002-04-23 23:03:55
1472
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다