지

이거 해결좀..- _-;;;

· 2006-07-03 (월) 17:33:56 · 1069 · 8
안녕하세요. 지은아빠입니다. 도무지 답이 안나와서 도움 구합니다. - - -;;
 
start_month의 값들 1~ 12
end_month의 값들 1~12
 
select * from xxx where start_month <= $month and end_month >= $month;
 
저 셀렉트 구문은 이를테면 start_month가 11월이고 end_month가 다음 해 1월이라면 값을 구하고자 할 때는 값이 안나오는데요.
 
어떻게 하면 될까요?
|

댓글 8개

음.. end_month를 체크할려면 입력된 월보다 작은 값을 찾도록 해야할듯
end_month <= $month

select * from xxx where start_month >= $month and end_month <= $month;

아 그리고
위의 구조는 년도를 체크하는것이 없으므로 올해의 1월도 조회될겁니다 ^^
2006-07-03 (월) 17:49:18
root님 답변 감사합니다. 미처 질문에 포함하지 못했는데요..

음.. 예를 들어서 현재 7월이면 3월~8월에 해당 하는 값도 같이 구하려고 하거든요.
한해에 끝나는것인지 한해를 넘기는 것인지에 대한 체크나...
작업 시작년도와 작업 종료년도의 추가가 있어야 원하시는 답변이 시원하게 나올것으로 생각됩니다 ^^
2006-07-03 (월) 18:17:57
아.. 현재상태로는 힘들다는 것이죵? ㅠㅠ
select * from xxx where start_month <= $month and end_month >= $month;

해가 바뀌는데 월 정보만 준다는 것이 모순아닌가요?

start_month, end_month를 date 타입으로 바꾸면 어떨까요?
select * from xxx where start_month <= $month and end_month >= $month;

==>

select * from xxx where if( end_month > start_month, $month, $month+12) $month between start_month and if( end_month > start_month, end_month, end_month+12)

query 성능은 떨어 집니다.
기간이 12개월 이상을 안 된다는 단점이 있죠.
rolo 님 말씀처럼..
php는 7월에서 1월까지하면..;;
만약 된다하더라두.. 2006년 7월에서 언제 1월까지인지를 모릅니다. -0-
무한루프의 함정이죠..;;

sql에 1년치 데이터만 존재한다면 rolo님 말씀처럼 하심 되구요.
그렇지 않다면.. year필드를 추가하심이 좋을듯하네요.
적절한 답변이 못되어 죄송합니다만.. 혹시나 우려되서 한마디 남깁니다. (__)
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
06-07-04 조회 1,678
06-07-04 조회 1,586
06-07-04 조회 1,612
06-07-04 조회 1,723
06-07-04 조회 1,712
06-07-04 조회 1,767
06-07-04 조회 1,465
06-07-04 조회 1,959
06-07-04 조회 1,599
06-07-04 조회 1,627
06-07-04 조회 1,648
06-07-04 조회 1,702
06-07-04 조회 1,259
06-07-03 조회 1,490
06-07-03 조회 1,869
06-07-03 조회 1,221
06-07-03 조회 1,879
06-07-03 조회 1,577
06-07-03 조회 1,070
06-07-03 조회 1,779